blitsort VS ram_bench

Compare blitsort vs ram_bench and see what are their differences.

blitsort

Blitsort is an in-place stable adaptive rotate mergesort / quicksort. (by scandum)

ram_bench

A benchmark for random memory accesses (by emilk)
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
blitsort ram_bench
15 2
699 112
- -
3.3 0.0
6 days ago over 1 year ago
C C++
The Unlicense -
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.

blitsort

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

ram_bench

Posts with mentions or reviews of ram_bench. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-30.
  • The Myth of RAM (2014)
    1 project | news.ycombinator.com | 19 Nov 2023
  • Blitsort: An ultra-fast in-place stable hybrid merge/quick sort
    7 projects | news.ycombinator.com | 30 Nov 2022
    > Radix sort is theoretically O(N),

    Nothing theoretical about it: Sorting a list of all IP addresses can absolutely and trivially be done in O(N)

    > in reality you can't do better than O(log N)

    You can't traverse the list once in any sort must be ≥N.

    > but memory access is logarithmic

    No it's not, but it's also irrelevant: A radix sort doesn't need any reads if the values are unique and dense (such as the case IP addresses, permutation arrays, and so on).

    > Edit: I misremembered, memory access is actually O(sqrt(N)): https://github.com/emilk/ram_bench

    It's not that either.

    The author ran out of memory; They ran a program that needs 10GB of ram on a machine with only 8GB of ram in it. If you give that program enough memory (I have around 105gb free) it produces a silly graph that looks nothing like O(√N): https://imgur.com/QjegDVI

    The latency of accessing memory is not a function of N.

What are some alternatives?

When comparing blitsort and ram_bench you can also consider the following projects:

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

highway - Performance-portable, length-agnostic SIMD with runtime dispatch

pdqsort - Pattern-defeating quicksort.

crumsort - A branchless unstable quicksort / mergesort that is highly adaptive.

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

gridsort - A stable adaptive partitioning comparison sort.

tremc - Curses interface for transmission

combsort.h - optimized combsort macro

glidesort - A Rust implementation of Glidesort, my stable adaptive quicksort/mergesort hybrid sorting algorithm.