Skip to content

Blazingly fast rust quick-sort implementation validated with `proptest` and `libFuzzer`.

License

Notifications You must be signed in to change notification settings

jacobvm04/quickest-sort

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quickest Sort

Blazingly fast quick-sort implementation validated with proptest and libFuzzer. Writen in an effort to prepare for my Data Structures and Algorithms exam.

Benchmarks

Run benchmarks with cargo bench (requires rust nightly). The benchmark measures the time taken to sort a randomly generated vector of 10,000 integers.

Benchmark results on my M2 MBP Pro:

test tests::bench_quickest_sort_i32     ... bench:     412,916 ns/iter (+/- 36,892)
test tests::bench_selection_sort_i32    ... bench:  20,364,375 ns/iter (+/- 1,237,768)
test tests::bench_std_sort_i32          ... bench:     391,834 ns/iter (+/- 24,933)
test tests::bench_std_sort_unstable_i32 ... bench:     238,943 ns/iter (+/- 10,257)

Testing

Property-based testing

This project uses property based testing via proptest. It can be ran by executing cargo run test.

Using --release is highly recommended to greatly decrease execution time.

Fuzzing

This project can be fuzzed using cargo-fuzzer with libFuzzer by running cargo fuzz run fuzz_target_1.

About

Blazingly fast rust quick-sort implementation validated with `proptest` and `libFuzzer`.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages