On 11/30/2011 8:23 PM, Xinok wrote:
I've released a few updates for my sorting algorithm in the past month.

https://sourceforge.net/projects/xinoksort/

Major changes:
* Added concurrency using taskPool
* Use any callable type as predicate (functions, delegates)
* Unittests
* Documentation
* Minor optimizations


Update (2011-12-02)

* Fix: Several bugs and other issues related to sorting ranges
* Fix: Use taskPool for release builds, Thread for debug builds
* Added unittest for ranges
* Merged all unittests into one unittest statement
* makeTemp now takes size_t rather than Range

The performance of ranges isn't as good as I hoped, but it's still significantly faster than Phobos stable sort. Now I'll work on implementing my code in std.algorithm and do a pull request when it's ready.

Benchmark on array of 16777216 uints
xinokSortArray: 6180865
xinokSortRange: 11515011
phobUSortArray: 4880857
phobUSortRange: 4514736 <- Why is sorting a range faster than an array?
phobSSortArray: 104081737
phobSSortRange: Failed to compile (many functions under std.algorithm use $ when slicing)

Reply via email to