quadsort VS piposort

Compare quadsort vs piposort and see what are their differences.

quadsort

Quadsort is a branchless stable adaptive mergesort faster than quicksort. (by scandum)

piposort

Piposort is a small branchless stable adaptive mergesort. (by scandum)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
quadsort piposort
9 2
2,106 8
- -
4.6 10.0
6 months ago over 1 year ago
C C
The Unlicense MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

quadsort

Posts with mentions or reviews of quadsort. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-10.

piposort

Posts with mentions or reviews of piposort. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-12.
  • Understanding DeepMind's Sorting Algorithm
    7 projects | news.ycombinator.com | 12 Jun 2023
    Hang on, you can't just quote MB/s numbers for an O(n log(n)) sort. What length were these tests run at?

    The code size might not end up quite as good, but a branchless merge sort is a contender for a fast and lightweight merge. Just published, tiny-sort-rs[0] cites 632 bytes and looks like ~350MB/s at 1e4 elements on Zen 3. In my tests, my own pisort[1] benches a little over twice as fast as LongSort, but it uses sorting networks as the base case so it's like 5KB. It's roughly based on piposort[2] which has more complicated recursion but a simpler base case.

    400 MB/s seems a bit slow for a radix sort on that hardware: I'm hitting those numbers on my i5-6200U, which has less than half the clock rate, with my own radix sort. Recommend checking ska_sort_copy from [3] as it has about the same performance.

    [0] https://github.com/Voultapher/tiny-sort-rs

    [1] https://github.com/mlochbaum/SingeliSort/blob/master/src/mer...

    [2] https://github.com/scandum/piposort

    [3] https://github.com/skarupke/ska_sort

  • Show HN: QuadSort, Esoteric Fast Sort
    4 projects | news.ycombinator.com | 28 Jan 2023
    Quadsort'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

What are some alternatives?

When comparing quadsort and piposort you can also consider the following projects:

pdqsort - Pattern-defeating quicksort.

ska_sort

fluxsort - A fast branchless stable quicksort / mergesort hybrid that is highly adaptive.

github-drama - github-drama (community fork) Important: To edit, open a pull request. We will merge it as soon as we see the notification. To edit a large amount of content, open an issue saying so. We will grant you write access. To receive notifications about the latest drama, subscribe to the Community-Driven Happenings Feed.

blitsort - Blitsort is an in-place stable adaptive rotate mergesort / quicksort.

tiny-sort-rs - This crate provides two sort implementation, one stable and one unstable that are optimized for binary size.

Klib - A standalone and lightweight C library

SingeliSort - Sorting with Singeli

sort-test - A simple sort benchmarking tool

rotate - A collection of array rotation algorithms.

fastrange - A fast alternative to the modulo reduction

sort-research-rs - Test and benchmark suite for sort implementations.