2 ms·
TLDR: A visualisation of how QuadSort adaptively combines various novel strategies to achieve the best performance on a wide variety of inputs: https://github.c
by tuukkah 4y ago
TLDR: A visualisation of how QuadSort adaptively combines various novel strategies to achieve the best performance on a wide variety of inputs: https://github.com/scandum/quadsort#visualization https://github.com/scandum/quadsort#visualization
Benchmarks of how it beats qsort, Timsort, pdqsort etc.: https://github.com/scandum/quadsort#benchmark-quadsort-vs-stdstable_sort-vs-timsort https://github.com/scandum/quadsort#benchmark-quadsort-vs-st...
Is it called esoteric just because it's complex?
- seanmcdirmid 4y agoIt has a lot of moving parts. It is considered esoteric because it would be difficult to put this kind of thing into successful production.
- scandum 4y agoQuadsort's author here. This is the first time I've heard quadsort being called esoteric. It isn't much more complex than Timsort. It is however challenging to port ~1000 lines of code that can be tedious to debug. If you make one simple error/typo you could be stuck for hours in debugging hell. Hence I recently published piposort, which is ~150 lines and pretty basic, while still offering excellent performance. Not as good as quadsort, but it could make for a stepping stone in a porting effort. https://github.com/scandum/piposort https://github.com/scandum/piposort
- tuukkah 4y agoGood point, so it's not more esoteric than Timsort which is used in production a lot. With quadsort, fluxsort, piposort etc., you have an impressive coverage of the design space of sorting algorithms!