Francisco,
On Thu, Dec 18, 2014 at 10:22 PM, Steven Ross
Francisco,
Have you looked at: https://software.intel.com/en-us/articles/a-parallel-stable-sort-using-c11-f...
For comparison?
I used the free tbb parallel stable sort referenced above for comparison, and found that as soon as I randomized the contents of the entire struct and made the copy constructor copy over the entire struct, that the tbb version was 37% faster on randomized data all the way up to 256 bytes relative to countertree::parallel_merge_sort. I've attached my modified "original" directory where I tested this out (see: Original/benchmark/parallel_stable_sort/build/make_tbb_benchmark.sh). Unless you can get your library close to the speed of this tbb sort, I don't see how we'd be benefiting people by pointing to it instead of the tbb library. What I am interested in is your idea for indirect sorting: can you come up with an easy-to-use API to handle efficient indirect sorting? That would probably be worth including in the boost::sort library, especially if it is compatible with different sort functions.