ska_sort VS piposort

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

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/

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 ska_sort and piposort you can also consider the following projects:

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.

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

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

SingeliSort - Sorting with Singeli

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