That while the the original version calls the size() method more often, your transform also generates and dismantles a bunch of anonymous arrays. If the naive form only calls size() few times, which it does for an array as small as in your test case, then the transform's overhead evidently outweighs these calls. It is no surprise really.
Bubble sort is the fastest way to sort a already nearly sorted array of not more than a few dozen elements (as a rule of thumb).
All of these algorithms have to make a trade-off: either you pay a high cost up front and then pay very little for each individual element, or you pay little to nothing up front but buy each element at a high cost. The obvious implication is that when you only have few elements, buying them all at a high cost each totals to a smaller sum than the high up-front cost of a more advanced algorithm.Makeshifts last the longest.
In reply to Re^2: Problems with custom sort
by Aristotle
in thread Problems with custom sort
by arunhorne
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |