[Omaha.pm] Sort quickie
Jay Hannah
jay at jays.net
Thu Aug 5 02:22:17 CDT 2004
On Jul 14, 2004, at 10:32 PM, Hugh Jarce wrote:
> This sub can be written more efficiently as:
> sub by_date2 { substr($a,4) cmp substr($b,4) || $a cmp $b }
> or:
> sub by_date3 { substr($a,4).$a cmp substr($b,4).$b }
Wow. Very slick.
> Out of curiosity, I benchmarked 4 different ways to do it:
>
> use strict;
> use Benchmark;
-ponder- I need to study Benchmark. Looks cool. What's the point of
@x? Can
sub j9 { my @x = sort by_date @dates }
be written as
sub j9 { sort by_date @dates }
?
> sub j1 {
> my @x = map { substr($_,4) } sort map { substr($_,4).$_ } @dates
> }
-laugh- Took me 3 minutes to figure out what that does. map tends to
confuse my limited synapses.
> Which surprised me. I expected j1 to be much faster.
Usually its faster for me to re-write a use of map than it is for me to
figure out what I was doing when I wrote it. -grin- Typically I can't
grok map at a glance, which slows me down. Can't argue w/ fast
benchmarking though!
Thanks for the tips!
j
More information about the Omaha-pm
mailing list