Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
Description
The present implementation of mergesort in SortUtils only handles four-byte and
eight-byte elements, because it was intended only for sorting pointers, but it
would be convenient to make it possible to sort elements of arbitrary width.
We can add a width argument without sacrificing speed by taking advantage of
the fact that optimizing compilers such as GCC produce identical assembler for
invocations of memcpy() where the amount to copy is a small constant known
at compile time as for direct assigment.