Description
It seems the current benchmark sorts numbers (disregarding whether floats or integers) in an array/vector/list/...
Yet, this is fundamentally flawed in my opinion as many (most?) languages and compilers and libraries do specialization (in compile time or in run time or both) and switch to magnitudes faster numeric sorting algorithm ("non-comparison sort") which has totally different mathematical boundaries (almost O(n)
) than what this benchmark wants to measure - i.e. the pair-wise comparison sorting algorithms ("comparison sort") with provably best possible O(n log n)
.
https://en.wikipedia.org/wiki/Sorting_algorithm#Non-comparison_sorts
Should we rather compare some complex structs of e.g. 19 bytes in size?
I would prefer no power of 2, not bigger than half of a typical cache line (i.e. max 32 bytes), no even number, and not "power of two plus 1" (to make struct compression difficult to avoid matching power of 2). Any implicit padding under the hood is fair IMHO.