How sort actually works internally doesn't really matter. That it is about as fast as you are likely to get; that it is built-in to language so always available; and that it understands Perl internals; does.is that the internals of the Perl sort changed from quicksort to a mergesort between 5.6 and 5.8. Although the main change is probably to defend against worst-case O(N**2) behaviour, the user can be bitten by this "feature" From CPAN Sort.pm
A stable sort means that for records that compare equal, the original input ordering is preserved. Mergesort is stable, quicksort is not.This means if you use 5.6, and your comparator returns 0 for 2 items that are in fact different, the input order and the output order of those items may change. This behaviour burned me recently; others may want to know about it.
In reply to Re: RFC:A brief tutorial on Perl's native sorting facilities.
by jimbojones
in thread RFC:A brief tutorial on Perl's native sorting facilities.
by BrowserUk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |