On Sat, 31 Aug 2002, Sudarshan Raghavan wrote: > For further proof here is a benchmarking result > #!/usr/local/bin/perl -w > use strict; > use Benchmark; > > my @arr = qw(34 12 23 45 11 91 32); > sub using_sort { > my $min = (sort {$a <=> $b} @arr)[0]; > my $max = (reverse sort {$a <=> $b} @arr)[0];
My bad!! this should be my ($min, $max) = (sort {$a <=> $b} @arr)[0, -1]; > } > > sub using_for { > my ($min, $max); > $min = $max = $arr[0]; > for (1..@arr-1) { > $min = $arr[$_] if $arr[$_] < $min; > $max = $arr[$_] if $arr[$_] > $max; > } > } > > timethese (1000000, { using_sort => \&using_sort, > using_for => \&using_for }); With these changes the benchmarking gets even better Benchmark: timing 1000000 iterations of using_for, using_sort... using_for: 14 wallclock secs (11.89 usr + 0.06 sys = 11.95 CPU) @ 83682.01/s (n=1000000) using_sort: 4 wallclock secs ( 4.13 usr + 0.02 sys = 4.15 CPU) @ 240963.86/s (n=1000000) -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]