| That code was indeed a bit unorganized, I updated bench.c in wolfsort's github, hopefully that'll fix it. Would you mind giving your 2 cents on this topic? https://news.ycombinator.com/item?id=34650406 You are probably more familiar with this topic than most. It is my impression that orlp suggests the only relation between glidesort and fluxsort is that they're both stable quicksorts. Similarly, orlp suggests there is no relationship between his branchless merge and quadsort's branchless merge. On his github he mentions timsort 2 times, and powersort 5 times. So he has no problem giving prior credit, but at least to me, it appears he tries to take prior or co-inventor claim for quadsort's branchless merge techniques and suggests a minimal influence from fluxsort. There is also no mention of the massive performance gain by utilizing the unguarded aspect of quadsort's parity merge for small array sorting. This is at least 20% of glidesort's performance gain. Perhaps I'm being overly sensitive? |
I don't particularly feel that contributions from fluxsort and quadsort are being minimized in Orson's writing/speaking. The talk in May and README are both pretty abbreviated and the places you should expect full attribution are the FOSDEM talk and upcoming paper; first looks good. We all tend to think of our own work as more important than it really is. And to overlook differences and assume it's more similar to other work.
I haven't looked into quadsort deeply and still haven't had any time to seriously read glidesort, so I can't comment on the details of merge implementations. The places I see influence are in merging 4 arrays at a time (which I did read about before quadsort in "Patience is a virtue", but I think neither I nor Orson took that paper very seriously) and in the bidirectional idea which is credited in the FOSDEM talk.