quadsort VS mountain-sort

Compare quadsort vs mountain-sort and see what are their differences.

quadsort

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

mountain-sort

The best algorithm to sort mountains (by Morwenn)
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 mountain-sort
9 1
2,106 3
- -
4.6 10.0
6 months ago over 8 years 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.

mountain-sort

Posts with mentions or reviews of mountain-sort. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-10.
  • 10~17x faster than what? A performance analysis of Intel x86-SIMD-sort (AVX-512)
    12 projects | news.ycombinator.com | 10 Jun 2023
    It depends on the size of the structs. For struct pointers you're likely better off sorting keys and pointers simultaneously. It doesn't matter much until you get to large sizes (millions), but sorting indices and then selecting with them is random access. If the original ordering is messy, selecting can be slower than the sorting step. For structs a few words long, the unit you're moving is a larger portion of a cache line, and I'd expect the data movement to drown out any SIMD advantage. A radix sort might be all right because it moves less, but I'd probably go with sorting indices as the first thing to try unless I knew the arrays were huge. For very large structs there's an interesting effort called mountain sort[0], "probably the best sorting algorithm if you need to sort actual mountains by height". Given that it minimizes number of moves it's ignoring cache entirely. I haven't benchmarked so I can't say much about how practical it is.

    [0] https://github.com/Morwenn/mountain-sort

What are some alternatives?

When comparing quadsort and mountain-sort you can also consider the following projects:

pdqsort - Pattern-defeating quicksort.

rotate - A collection of array rotation algorithms.

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

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

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

rust - Empowering everyone to build reliable and efficient software.

Klib - A standalone and lightweight C library

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

sort-test - A simple sort benchmarking tool

Presentations - Collection of personal presentations