Thread Findet goto in der modernen Programmierung noch Verwendung?
(13 answers)
Opened by roooot at 2010-11-23 23:32
Hast recht daran habe ich gar nicht gedacht.
Als ich das das letzte mal getestet hatte war "goto" das schnellste. (war mit perl 5.6 glaube ich) Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #!/usr/bin/perl use strict; use warnings; use Benchmark qw(cmpthese); my %case=( a => sub{ return 1*shift; }, b => sub{ return 2*shift; }, c => sub{ return 3*shift; }, d => sub{ return 4*shift; }, ); *my_a=$case{a}; *my_b=$case{b}; *my_c=$case{c}; *my_d=$case{d}; sub rstr{ return chr(int(rand(4))+97) } sub gto{ goto $case{rstr()}; } sub rcl{ $case{rstr()}->(@_); } sub scl{ &{ $case{rstr()} }; } sub als { my $f=rstr(); $f eq 'a' and return my_a(@_); $f eq 'b' and return my_b(@_); $f eq 'c' and return my_c(@_); $f eq 'd' and return my_d(@_); } cmpthese(1000000, { goto => sub{ gto(55); }, refcall => sub{ rcl(55); }, alias => sub{ als(55); }, subcall => sub{ scl(55); }, }); Ergebnis: Code: (dl
)
1 Rate alias refcall goto subcall Lohnt sich immer Tests zu wiederholen :-) |