in reply to A Luser's Benchmarking Tale
Changed:Benchmark: timing 5000000 iterations of sub1, sub2, sub3... sub1: 8 wallclock secs @ 664805.21/s (n=5000000) sub2: 6 wallclock secs @ 988924.05/s (n=5000000) sub3: 4 wallclock secs @ 1139731.02/s (n=5000000)
Output:use Benchmark; sub sub1(){ my $val = 3; TTEST: { if($val == 1){last TTEST;} if($val == 2){last TTEST;} if($val == 3){last TTEST;} if($val == 4){last TTEST;} } } sub sub2(){ my $val = 3; TTEST: { if($val == 1){last;} if($val == 2){last;} if($val == 3){last;} if($val == 4){last;} } } sub sub3(){ my $val = 3; if($val == 1){} if($val == 2){} if($val == 3){} if($val == 4){} } my $codehash = {'sub1' => \&sub1,'sub2' => \&sub2,'sub3' => \&sub3}; timethese(5000000, $codehash);
Benchmark: timing 5000000 iterations of sub1, sub2, sub3... sub1: 8 wallclock secs ( 7.49 usr + 0.00 sys = 7.49 CPU) @ 66 +7467.63/s (n=5000000) sub2: 7 wallclock secs ( 7.27 usr + -0.01 sys = 7.26 CPU) @ 68 +8800.11/s (n=5000000) sub3: 5 wallclock secs ( 5.12 usr + 0.01 sys = 5.13 CPU) @ 97 +5419.43/s (n=5000000)
|
|---|