Skip to content

Rust bindings for the Google Highway vectorized quicksort

License

Apache-2.0, BSD-3-Clause licenses found

Licenses found

Apache-2.0
LICENSE
BSD-3-Clause
LICENSE-BSD3
Notifications You must be signed in to change notification settings

lincot/vqsort-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

vqsort-rs

Rust bindings for the Google Highway vectorized quicksort.

The vectorized quicksort sorting algorithm is very fast, as seen in a writeup, and outperforms the standard Rust sort_unstable. However, it can only be used with primitive integers and floats.

Example

let mut data = [5, 3, 8, 0, -100];
vqsort_rs::sort(&mut data);
assert_eq!(data, [-100, 0, 3, 5, 8]);

vqsort_rs::sort_descending(&mut data);
assert_eq!(data, [8, 5, 3, 0, -100]);

Miri

When testing with Miri, this crate resorts to sort_unstable, because Miri doesn't support FFI.

About

Rust bindings for the Google Highway vectorized quicksort

Resources

License

Apache-2.0, BSD-3-Clause licenses found

Licenses found

Apache-2.0
LICENSE
BSD-3-Clause
LICENSE-BSD3

Stars

Watchers

Forks