piposort VS ska_sort

Compare piposort vs ska_sort and see what are their differences.

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
piposort ska_sort
2 2
8 229
- -
10.0 10.0
over 1 year ago about 3 years ago
C C++
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.

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

ska_sort

Posts with mentions or reviews of ska_sort. 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

  • Is there radix sort in the STL? Or in any other library?
    1 project | /r/cpp | 6 Sep 2022
    Skarupke has a good radix sort implementation https://github.com/skarupke/ska_sort https://probablydance.com/2016/12/27/i-wrote-a-faster-sorting-algorithm/

What are some alternatives?

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

quadsort - Quadsort is a branchless stable adaptive mergesort faster than quicksort.

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.

llama.cpp - LLM inference in C/C++

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

SingeliSort - Sorting with Singeli