sort-research-rs
Presentations
sort-research-rs | Presentations | |
---|---|---|
47 | 1 | |
291 | 7 | |
- | - | |
9.0 | 10.0 | |
20 days ago | over 1 year ago | |
Rust | C++ | |
Apache License 2.0 | 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.
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
Presentations
-
10~17x faster than what? A performance analysis of Intel x86-SIMD-sort (AVX-512)
If you look at the history of the author's own sorting implementation (ipnsort), it started as an attempt to port fluxsort to Rust:
https://github.com/Voultapher/Presentations/blob/master/rust...
It starts there, eventually the author abandons the linked PR because of a better approach found with ipnsort:
https://github.com/rust-lang/rust/pull/100856#issuecomment-1...
What are some alternatives?
tock - A secure embedded operating system for microcontrollers
rotate - A collection of array rotation algorithms.
ruduino - Reusable components for the Arduino Uno.
quadsort - Quadsort is a branchless stable adaptive mergesort faster than quicksort.
fluxsort - A fast branchless stable quicksort / mergesort hybrid that is highly adaptive.
mountain-sort - The best algorithm to sort mountains
glidesort - A Rust implementation of Glidesort, my stable adaptive quicksort/mergesort hybrid sorting algorithm.
x86-simd-sort - C++ template library for high performance SIMD based sorting algorithms
book - The Rust on ESP Book
forma - An efficient vector-graphics renderer