Last active
May 2, 2022 22:35
-
-
Save mbrubeck/bb7d598716e8a6c85f1c5163aed03c8c to your computer and use it in GitHub Desktop.
Rust opt-level measurements
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
test environment | |
rustc 1.16.0-nightly (5d994d8b7 2017-01-05) | |
Thinkpad X1 Carbon Touch (2012) | |
Intel(R) Core(TM) i7-3667U CPU @ 2.00GHz | |
cpufreq-set -g performance | |
no other programs running | |
all results are after one run to warm up the cache | |
regex | |
opt-level = 3 | |
touch src/lib.rs && /usr/bin/time -a cargo build --release (3 runs): | |
24.52user 0.14system 0:24.70elapsed 99%CPU (0avgtext+0avgdata 218240maxresident)k | |
24.60user 0.15system 0:24.78elapsed 99%CPU (0avgtext+0avgdata 218008maxresident)k | |
24.48user 0.15system 0:24.66elapsed 99%CPU (0avgtext+0avgdata 218056maxresident)k | |
cargo bench (best of 3): | |
test multiple ... bench: 23,207 ns/iter (+/- 187) | |
test single ... bench: 3,041 ns/iter (+/- 209) | |
size | |
text data bss dec hex filename | |
1090138 53553 3672 1147363 1181e3 target/release/re_set-f89877e5dcd3b932 | |
opt-level = 2 | |
touch src/lib.rs && /usr/bin/time -a cargo build --release | |
23.68user 0.10system 0:23.81elapsed 99%CPU (0avgtext+0avgdata 218028maxresident)k | |
23.81user 0.08system 0:23.92elapsed 99%CPU (0avgtext+0avgdata 218128maxresident)k | |
23.73user 0.14system 0:23.90elapsed 99%CPU (0avgtext+0avgdata 217796maxresident)k | |
cargo bench (best of 3): | |
test multiple ... bench: 23,234 ns/iter (+/- 1,551) | |
test single ... bench: 2,997 ns/iter (+/- 204) | |
size | |
text data bss dec hex filename | |
1091134 53601 3672 1148407 1185f7 target/release/re_set-e8e4ae70c9ba69fd | |
quickersort | |
opt-level = 3 | |
touch src/lib.rs && /usr/bin/time -a cargo build --release | |
0.63user 0.04system 0:00.69elapsed 97%CPU (0avgtext+0avgdata 105212maxresident)k | |
0.65user 0.01system 0:00.69elapsed 96%CPU (0avgtext+0avgdata 105572maxresident)k | |
0.65user 0.01system 0:00.69elapsed 96%CPU (0avgtext+0avgdata 105232maxresident)k | |
cargo bench: | |
test sort_big_random_large ... bench: 925,884 ns/iter (+/- 15,962) = 345 MB/s | |
test sort_big_random_medium ... bench: 5,762 ns/iter (+/- 95) = 555 MB/s | |
test sort_big_random_small ... bench: 258 ns/iter (+/- 1) = 620 MB/s | |
test sort_big_sorted ... bench: 15,735 ns/iter (+/- 187) = 20336 MB/s | |
test sort_enormous ... bench: 7,928,236 ns/iter (+/- 72,143) = 100 MB/s | |
test sort_equals ... bench: 972 ns/iter (+/- 4) = 8230 MB/s | |
test sort_few_unique ... bench: 41,723 ns/iter (+/- 468) = 95 MB/s | |
test sort_huge ... bench: 7,942,475 ns/iter (+/- 357,500) = 100 MB/s | |
test sort_partially_sorted ... bench: 749,801 ns/iter (+/- 10,973) = 106 MB/s | |
test sort_random_enormous_heapsort ... bench: 141,783,043 ns/iter (+/- 2,140,109) = 56 MB/s | |
test sort_random_huge_heapsort ... bench: 6,728,491 ns/iter (+/- 34,297) = 118 MB/s | |
test sort_random_large ... bench: 481,210 ns/iter (+/- 12,409) = 166 MB/s | |
test sort_random_large_heapsort ... bench: 487,372 ns/iter (+/- 7,447) = 164 MB/s | |
test sort_random_medium ... bench: 2,686 ns/iter (+/- 28) = 297 MB/s | |
test sort_random_medium_heapsort ... bench: 2,959 ns/iter (+/- 24) = 270 MB/s | |
test sort_random_medium_insertion_sort ... bench: 3,246 ns/iter (+/- 26) = 246 MB/s | |
test sort_random_small ... bench: 177 ns/iter (+/- 3) = 225 MB/s | |
test sort_sorted ... bench: 9,448 ns/iter (+/- 76) = 8467 MB/s | |
test sort_strings ... bench: 3,092,310 ns/iter (+/- 59,398) = 96 MB/s | |
test sort_tiny_random_large ... bench: 399,032 ns/iter (+/- 5,322) = 25 MB/s | |
test sort_tiny_random_medium ... bench: 2,619 ns/iter (+/- 51) = 38 MB/s | |
test sort_tiny_random_small ... bench: 137 ns/iter (+/- 1) = 36 MB/s | |
size | |
text data bss dec hex filename | |
713470 42481 3704 759655 b9767 target/release/bench-100764d11fe0dffd | |
opt-level = 2 | |
touch src/lib.rs && /usr/bin/time -a cargo build --release | |
0.63user 0.02system 0:00.69elapsed 95%CPU (0avgtext+0avgdata 105040maxresident)k | |
0.62user 0.03system 0:00.68elapsed 96%CPU (0avgtext+0avgdata 104464maxresident)k | |
0.62user 0.03system 0:00.68elapsed 96%CPU (0avgtext+0avgdata 104272maxresident)k | |
cargo bench | |
test sort_big_random_large ... bench: 901,720 ns/iter (+/- 8,952) = 354 MB/s | |
test sort_big_random_medium ... bench: 5,676 ns/iter (+/- 52) = 563 MB/s | |
test sort_big_random_small ... bench: 255 ns/iter (+/- 17) = 627 MB/s | |
test sort_big_sorted ... bench: 15,724 ns/iter (+/- 249) = 20351 MB/s | |
test sort_enormous ... bench: 7,961,900 ns/iter (+/- 59,145) = 100 MB/s | |
test sort_equals ... bench: 974 ns/iter (+/- 5) = 8213 MB/s | |
test sort_few_unique ... bench: 41,341 ns/iter (+/- 735) = 96 MB/s | |
test sort_huge ... bench: 7,959,889 ns/iter (+/- 62,484) = 100 MB/s | |
test sort_partially_sorted ... bench: 743,861 ns/iter (+/- 11,785) = 107 MB/s | |
test sort_random_enormous_heapsort ... bench: 136,968,790 ns/iter (+/- 2,596,488) = 58 MB/s | |
test sort_random_huge_heapsort ... bench: 6,821,167 ns/iter (+/- 427,245) = 117 MB/s | |
test sort_random_large ... bench: 472,327 ns/iter (+/- 6,005) = 169 MB/s | |
test sort_random_large_heapsort ... bench: 500,025 ns/iter (+/- 12,950) = 159 MB/s | |
test sort_random_medium ... bench: 2,628 ns/iter (+/- 176) = 304 MB/s | |
test sort_random_medium_heapsort ... bench: 3,068 ns/iter (+/- 18) = 260 MB/s | |
test sort_random_medium_insertion_sort ... bench: 3,243 ns/iter (+/- 75) = 246 MB/s | |
test sort_random_small ... bench: 189 ns/iter (+/- 11) = 211 MB/s | |
test sort_sorted ... bench: 9,437 ns/iter (+/- 634) = 8477 MB/s | |
test sort_strings ... bench: 3,071,594 ns/iter (+/- 217,874) = 94 MB/s | |
test sort_tiny_random_large ... bench: 396,277 ns/iter (+/- 9,494) = 25 MB/s | |
test sort_tiny_random_medium ... bench: 2,614 ns/iter (+/- 179) = 38 MB/s | |
test sort_tiny_random_small ... bench: 140 ns/iter (+/- 10) = 35 MB/s |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment