Well, who can tell? You only gave us the results of the benchmark, not what you actually tested - neither the code, nor the input.
yeah, sorry.. Now deleted the code, so I can't post exactly what I benchmarked, but it was just an array of 200 or so 4 digit integers. The code was as basic as I could make it.
something like:
use Benchmark;
my @array = (6252,8278, ...array of 200 4 digit integers...;
timethese(0, {
sorty => \&sorty,
space => \&spaceship,
comp => \&comp
});
sub sorty {
return sort @array
}
sub comp {
return sort {$a cmp $b} @array
}
sub spaceship {
return sort {$a <=> $b} @array
}
## gives:
Benchmark: running comp, sorty, space, each for at least 3 CPU seconds
+...
comp: 2 wallclock secs ( 3.05 usr + 0.02 sys = 3.07CPU) @ 617
+076.87/s (n=1894426)
sorty: 1 wallclock secs ( 3.06 usr + -0.00 sys = 3.06CPU) @ 650
+267.65/s (n=1989819)
space: 3 wallclock secs ( 3.38 usr + 0.02 sys = 3.40CPU) @ 590
+187.65/s (n=2006638)
I was just surprised that sorting using cmp was not much slower than <=>; for .. I realise now that I just hadn't thought about it too much (heavy weekend), and if I had, I probably wouldn't have had a preconcieved idea about the relative speeds..(fiddling with the sizes of the integers, making them 1-16 digits long doesn't have much effect on the relative (or actual) speed of the sorts, either, btw).
I shall just use
sort on its lonesome, I think.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.