glidesort
sort-research-rs
glidesort | sort-research-rs | |
---|---|---|
15 | 47 | |
1,554 | 292 | |
- | - | |
4.1 | 9.0 | |
about 1 year ago | 7 days ago | |
Rust | Rust | |
- | Apache License 2.0 |
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.
glidesort
-
A Rust port of crumsort, up to 75% faster than pdqsort
How does this compare to the recent glidesort algorithm? Why should someone prefer this to that one?
-
The Smallest Hash Table
For context this is written by the creator of Glidesort:
https://github.com/orlp/glidesort
- Orlp/glidesort: a Rust implementation of Glidesort, my stable adaptive quicksor
-
Reinforcement learned branchless sorting functions for sort3, sort4 and sort5 were landed in LLVM
With the recent release of Glidesort I remembered this change that recently landed in LLVM.
- Glidesort, a new stable sort in Rust up to ~4x faster for random data
-
Can C++ be the language of choice for new algo development?
In recent years at least one implementation of std sort was replaced by newer algo. Back when it was discussed there was an announcement of other people trying to improve sorting algorithms. Here is example of one https://github.com/orlp/glidesort ( beware it is written in Rust ).
- Show HN: Glidesort, a new stable sort in Rust up to ~4x faster for random data
sort-research-rs
-
The Rust Calling Convention We Deserve
If you want a particularity cursed example, I've recently called Go code from Rust via C in the middle, including passing a Rust closure with state into the Go code as callback into a Go stdlib function, including panic unwinding from inside the Rust closure https://github.com/Voultapher/sort-research-rs/commit/df6c91....
- Driftsort: An efficient, generic and robust stable sort implementation
-
Out-of-bounds read and write in the glibc's qsort()
See also https://github.com/Voultapher/sort-research-rs/blob/main/wri.... Discussion at https://news.ycombinator.com/item?id=37781612
- Fast, small, robust: pick three. Introducing a novel branchless partition impl
- A performance analysis of Intel's x86-simd-sort
- sort-research-rs/writeup/intel_avx512/text.md at main ยท Voultapher/sort-research-rs
- Fast, small, robust: pick three. Introducing a novel branchless partition implementation.
-
Branchless Lomuto Partitioning
There was a recent post by Voultapher from the sort-research-rs project on Branchless Lomuto Partitioning
https://github.com/Voultapher/sort-research-rs/blob/main/wri...
Discussion here:
https://news.ycombinator.com/item?id=38528452
This post by orlp (creator of Pattern-defeating Quicksort and Glidesort) was linked to in the above post, and I found both to be interesting.
- A novel branchless partition implementation
- Fast, small, robust: Introducing a novel branchless partition implementation
What are some alternatives?
BQN - An APL-like programming language. Self-hosted!
tock - A secure embedded operating system for microcontrollers
fluxsort - A fast branchless stable quicksort / mergesort hybrid that is highly adaptive.
ruduino - Reusable components for the Arduino Uno.
crumsort-rs - A parallelized Rust port of crumsort
rhsort - Robin Hood Sort, for uniform data
quadsort - Quadsort is a branchless stable adaptive mergesort faster than quicksort.
sortnetopt - Lower Size Bounds for Sorting Networks
rotate - A collection of array rotation algorithms.
x86-simd-sort - C++ template library for high performance SIMD based sorting algorithms