in reply to •Re^4: Benchmark, -s versus schwartzian
in thread Benchmark, -s versus schwartzian
Why? You can always do the GRT by using only the key (by which you sort) and an index in the string. I think of something like:
@files = glob("/bin/*"); @sorted = @files[ map { /(\d+)$/g } sort map { sprintf "%012d %d", -s $files[$_], $_ } 0..@files-1]; print "@sorted$/";
This is of course efficent only because of Perl optimizing the default sort subroutine. Someone who understands perl source well might be able to change sort so that it would optimize sort methods like {$h[$a]<=>$h[$b]} which would give us a possibility to sort even faster like
my @h = map -s, @files; @results = @files[sort {$h[$a]<=>$h[$b]} 0..@h-1];
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
•Re^6: Benchmark, -s versus schwartzian
by merlyn (Sage) on Aug 23, 2004 at 19:28 UTC | |
by fizbin (Chaplain) on Aug 25, 2004 at 20:09 UTC | |
by tye (Sage) on Aug 25, 2004 at 20:32 UTC | |
by fizbin (Chaplain) on Aug 25, 2004 at 21:04 UTC | |
by ambrus (Abbot) on Aug 23, 2004 at 19:41 UTC | |
|
Re^6: Benchmark, -s versus schwartzian
by Aristotle (Chancellor) on Aug 23, 2004 at 20:43 UTC |