Xinok Sort - December 2011

Xinok xinok at live.com
Thu Dec 1 14:10:50 PST 2011


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)


More information about the Digitalmars-d-announce mailing list