On Thu, Apr 16, 2015 at 4:08 AM, Francisco José Tapia
Hi Steven
I had been revising and testing spreadsort, and the results are impressive.
I have prepared the benchmarks and include spreadsort. Now the numbers are extracted from a file generated with a random number generator. In a few days I will put all in a git repository for a easy access
As I had seen, you use boost::sort for to invoke to spreadsort. If you use this name, which name use for to invoke introsort?
What version of the code are you looking at? I restructured the namespacing after the review completed to match the directory structure. The latest version is at https://github.com/boostorg/sort. You can also see it integrated into the 1_58_0 release candidate here: http://boost.cowic.de/rc/ The naming goes like this: boost::sort::spreadsort::spreadsort boost::sort::spreadsort::integer_sort etc. So if you were to add a library, it might be something like this: boost::sort::parallel::parallel_introsort (Is there a name you would prefer to parallel?)
I think it's a simple and easy to understand, because with the name sort, many people think about an algorithm as introsort ( general , not specific for several data types) and not stable.
spreadsort is a general algorithm, and can be used generically through this implementation, but yes, it will generate compile errors if people pass random data types that don't have the required operators, until they specify functors to use instead. The namespacing is intended to match the directory structure, but it also enforces the specificity you're requesting.