Skip to content

Instantly share code, notes, and snippets.

@Robbepop
Last active October 26, 2020 17:22
Show Gist options
  • Save Robbepop/bcff4fe149e0e622b752f0eb07b31880 to your computer and use it in GitHub Desktop.
Save Robbepop/bcff4fe149e0e622b752f0eb07b31880 to your computer and use it in GitHub Desktop.
Benchmarks of the modular_bitfield crate.
# System Specs
- Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
- 64-bit
- 16 GB Ram
- commit: 6f11920cc3c4936baf2581de17c02a843c069beb
Finished bench [optimized] target(s) in 0.05s
Running target/release/deps/modular_bitfield-a3dceb7ef187805a
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Running target/release/deps/benchmarks-bffcb2e90886e494
get/Color time: [12.309 ns 12.357 ns 12.412 ns]
change: [-3.8354% -1.2817% +0.6600%] (p = 0.35 > 0.05)
No change in performance detected.
Found 8 outliers among 100 measurements (8.00%)
4 (4.00%) high mild
4 (4.00%) high severe
get/SingleBitsInSingleByte
time: [24.912 ns 24.980 ns 25.051 ns]
change: [-1.6016% -0.6073% +0.3361%] (p = 0.22 > 0.05)
No change in performance detected.
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low severe
1 (1.00%) low mild
2 (2.00%) high mild
4 (4.00%) high severe
get/TwoHalfBytes time: [6.1967 ns 6.2175 ns 6.2411 ns]
change: [-0.9588% -0.1202% +0.6647%] (p = 0.77 > 0.05)
No change in performance detected.
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low mild
6 (6.00%) high mild
1 (1.00%) high severe
get/SingleBitAndRest time: [6.2128 ns 6.2396 ns 6.2681 ns]
change: [-0.5453% +0.1242% +0.7880%] (p = 0.72 > 0.05)
No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
2 (2.00%) low mild
4 (4.00%) high mild
get/B7B1 time: [6.2460 ns 6.2751 ns 6.3078 ns]
change: [-2.0127% -1.0369% -0.1576%] (p = 0.03 < 0.05)
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
4 (4.00%) high mild
get/B3B1B4 time: [9.4660 ns 9.4998 ns 9.5361 ns]
change: [-0.0191% +1.0224% +1.9723%] (p = 0.05 < 0.05)
Change within noise threshold.
Found 2 outliers among 100 measurements (2.00%)
2 (2.00%) high severe
get/TwoHalfWords time: [6.2280 ns 6.2630 ns 6.3020 ns]
change: [-1.7126% -0.8894% -0.1304%] (p = 0.03 < 0.05)
Change within noise threshold.
Found 8 outliers among 100 measurements (8.00%)
2 (2.00%) low mild
5 (5.00%) high mild
1 (1.00%) high severe
get/B6B12B6 time: [9.6049 ns 9.6509 ns 9.7082 ns]
change: [-1.5379% -0.7952% -0.0082%] (p = 0.05 < 0.05)
Change within noise threshold.
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low severe
5 (5.00%) high mild
2 (2.00%) high severe
get/B6B36B6 time: [9.6969 ns 9.7407 ns 9.7878 ns]
change: [-1.8231% -1.1645% -0.5472%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
get/Complex time: [15.858 ns 15.922 ns 15.989 ns]
change: [-0.0572% +0.6227% +1.3356%] (p = 0.09 > 0.05)
No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
4 (4.00%) high mild
2 (2.00%) high severe
set_variants/Color time: [24.885 ns 24.998 ns 25.125 ns]
change: [-0.7259% +0.0241% +0.7344%] (p = 0.95 > 0.05)
No change in performance detected.
Found 9 outliers among 100 measurements (9.00%)
6 (6.00%) high mild
3 (3.00%) high severe
set_variants/SingleBitsInSingleByte
time: [99.888 ns 100.56 ns 101.36 ns]
change: [-1.2792% -0.3720% +0.5202%] (p = 0.42 > 0.05)
No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
4 (4.00%) high mild
2 (2.00%) high severe
set_variants/TwoHalfBytes
time: [41.673 ns 41.823 ns 41.982 ns]
change: [+1.3585% +1.9385% +2.4800%] (p = 0.00 < 0.05)
Performance has regressed.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
set_variants/SingleBitAndRest
time: [34.125 ns 34.249 ns 34.380 ns]
change: [-0.1932% +0.4692% +1.1879%] (p = 0.18 > 0.05)
No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
1 (1.00%) low mild
3 (3.00%) high mild
1 (1.00%) high severe
set_variants/B7B1 time: [34.168 ns 34.360 ns 34.564 ns]
change: [+0.2673% +1.2771% +2.2569%] (p = 0.01 < 0.05)
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
3 (3.00%) high mild
1 (1.00%) high severe
set_variants/B3B1B4 time: [53.842 ns 54.079 ns 54.320 ns]
change: [+0.1022% +0.7553% +1.4206%] (p = 0.03 < 0.05)
Change within noise threshold.
Found 6 outliers among 100 measurements (6.00%)
5 (5.00%) high mild
1 (1.00%) high severe
set_variants/TwoHalfWords
time: [12.479 ns 12.565 ns 12.660 ns]
change: [-0.9547% -0.0321% +0.9132%] (p = 0.96 > 0.05)
No change in performance detected.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) high mild
3 (3.00%) high severe
set_variants/B6B12B6 time: [41.477 ns 41.842 ns 42.260 ns]
change: [+0.9096% +2.2414% +3.7910%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 6 outliers among 100 measurements (6.00%)
4 (4.00%) high mild
2 (2.00%) high severe
set_variants/B6B36B6 time: [40.299 ns 40.431 ns 40.573 ns]
change: [-1.3548% -0.6506% +0.0214%] (p = 0.07 > 0.05)
No change in performance detected.
Found 8 outliers among 100 measurements (8.00%)
2 (2.00%) low mild
5 (5.00%) high mild
1 (1.00%) high severe
set_variants/Complex time: [55.241 ns 55.522 ns 55.826 ns]
change: [-0.9676% -0.3306% +0.3660%] (p = 0.33 > 0.05)
No change in performance detected.
Found 9 outliers among 100 measurements (9.00%)
7 (7.00%) high mild
2 (2.00%) high severe
Running target/release/deps/cmp_bitfield_crate-813bb67c04c34a5f
compare_crates/get_a/other_bitfield
time: [3.0946 ns 3.1058 ns 3.1185 ns]
change: [-1.8242% -0.8401% +0.0557%] (p = 0.08 > 0.05)
No change in performance detected.
Found 9 outliers among 100 measurements (9.00%)
1 (1.00%) low mild
5 (5.00%) high mild
3 (3.00%) high severe
compare_crates/get_a/modular_bitfield
time: [3.0810 ns 3.0940 ns 3.1079 ns]
change: [-4.4464% -3.3494% -2.3178%] (p = 0.00 < 0.05)
Performance has improved.
Found 5 outliers among 100 measurements (5.00%)
4 (4.00%) high mild
1 (1.00%) high severe
compare_crates/get_b/other_bitfield
time: [3.0942 ns 3.1079 ns 3.1235 ns]
change: [-0.0622% +0.6614% +1.4449%] (p = 0.07 > 0.05)
No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
1 (1.00%) low mild
3 (3.00%) high mild
2 (2.00%) high severe
compare_crates/get_b/modular_bitfield
time: [3.1042 ns 3.1164 ns 3.1293 ns]
change: [-0.9478% -0.2585% +0.4387%] (p = 0.46 > 0.05)
No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
4 (4.00%) high mild
1 (1.00%) high severe
compare_crates/get_c/other_bitfield
time: [3.0945 ns 3.1067 ns 3.1199 ns]
change: [-0.7081% +0.0439% +0.8250%] (p = 0.91 > 0.05)
No change in performance detected.
Found 11 outliers among 100 measurements (11.00%)
2 (2.00%) low mild
7 (7.00%) high mild
2 (2.00%) high severe
compare_crates/get_c/modular_bitfield
time: [3.0680 ns 3.0802 ns 3.0935 ns]
change: [-3.2210% -1.7667% -0.6969%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
3 (3.00%) high mild
2 (2.00%) high severe
compare_crates/get_d/other_bitfield
time: [3.1287 ns 3.1421 ns 3.1552 ns]
change: [-0.6670% +0.1805% +0.9804%] (p = 0.68 > 0.05)
No change in performance detected.
Found 7 outliers among 100 measurements (7.00%)
2 (2.00%) low mild
5 (5.00%) high mild
compare_crates/get_d/modular_bitfield
time: [3.1175 ns 3.1296 ns 3.1426 ns]
change: [-0.5869% +0.0379% +0.6520%] (p = 0.91 > 0.05)
No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) low severe
2 (2.00%) high mild
compare_crates/get_e/other_bitfield
time: [3.0755 ns 3.0868 ns 3.0998 ns]
change: [-2.9993% -1.8741% -0.8134%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 14 outliers among 100 measurements (14.00%)
2 (2.00%) low severe
2 (2.00%) low mild
6 (6.00%) high mild
4 (4.00%) high severe
compare_crates/get_e/modular_bitfield
time: [3.1152 ns 3.1359 ns 3.1599 ns]
change: [-0.1288% +0.7054% +1.5384%] (p = 0.11 > 0.05)
No change in performance detected.
Found 13 outliers among 100 measurements (13.00%)
2 (2.00%) low mild
4 (4.00%) high mild
7 (7.00%) high severe
compare_crates/set_a/other_bitfield
time: [20.572 ns 20.645 ns 20.723 ns]
change: [-0.7191% -0.1634% +0.3929%] (p = 0.57 > 0.05)
No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) low mild
2 (2.00%) high mild
compare_crates/set_a/modular_bitfield
time: [15.819 ns 15.867 ns 15.922 ns]
change: [-0.6049% -0.0113% +0.5938%] (p = 0.97 > 0.05)
No change in performance detected.
Found 12 outliers among 100 measurements (12.00%)
1 (1.00%) low severe
2 (2.00%) low mild
7 (7.00%) high mild
2 (2.00%) high severe
compare_crates/set_b/other_bitfield
time: [20.477 ns 20.535 ns 20.595 ns]
change: [-2.6581% -2.0809% -1.4948%] (p = 0.00 < 0.05)
Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low mild
2 (2.00%) high mild
1 (1.00%) high severe
compare_crates/set_b/modular_bitfield
time: [20.334 ns 20.401 ns 20.471 ns]
change: [-1.4480% -0.7679% -0.0253%] (p = 0.04 < 0.05)
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low mild
1 (1.00%) high mild
2 (2.00%) high severe
compare_crates/set_c/other_bitfield
time: [20.539 ns 20.615 ns 20.699 ns]
change: [-1.8361% -1.1211% -0.3747%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 6 outliers among 100 measurements (6.00%)
5 (5.00%) high mild
1 (1.00%) high severe
compare_crates/set_c/modular_bitfield
time: [19.394 ns 19.485 ns 19.584 ns]
change: [-0.6585% +0.1034% +0.8477%] (p = 0.79 > 0.05)
No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mild
compare_crates/set_d/other_bitfield
time: [12.456 ns 12.523 ns 12.595 ns]
change: [-1.5550% -0.3298% +0.7584%] (p = 0.62 > 0.05)
No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
5 (5.00%) high mild
1 (1.00%) high severe
compare_crates/set_d/modular_bitfield
time: [12.446 ns 12.492 ns 12.541 ns]
change: [-1.4736% -0.5139% +0.3532%] (p = 0.29 > 0.05)
No change in performance detected.
Found 7 outliers among 100 measurements (7.00%)
2 (2.00%) low mild
4 (4.00%) high mild
1 (1.00%) high severe
compare_crates/set_e/other_bitfield
time: [20.623 ns 20.689 ns 20.761 ns]
change: [-1.1179% -0.5143% +0.0780%] (p = 0.10 > 0.05)
No change in performance detected.
Found 9 outliers among 100 measurements (9.00%)
1 (1.00%) low severe
2 (2.00%) low mild
5 (5.00%) high mild
1 (1.00%) high severe
compare_crates/set_e/modular_bitfield
time: [20.706 ns 20.806 ns 20.928 ns]
change: [-0.9376% -0.0648% +0.7644%] (p = 0.88 > 0.05)
No change in performance detected.
Found 12 outliers among 100 measurements (12.00%)
1 (1.00%) low severe
3 (3.00%) low mild
5 (5.00%) high mild
3 (3.00%) high severe
Running target/release/deps/cmp_handwritten-2f1be8b6da4ac0b4
generated_vs_handwritten/get_a/generated
time: [3.0990 ns 3.1119 ns 3.1263 ns]
change: [-2.7538% -1.2528% +0.0197%] (p = 0.08 > 0.05)
No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
5 (5.00%) high mild
1 (1.00%) high severe
generated_vs_handwritten/get_a/handwritten
time: [3.1072 ns 3.1189 ns 3.1318 ns]
change: [-0.1631% +0.5042% +1.1225%] (p = 0.12 > 0.05)
No change in performance detected.
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low severe
5 (5.00%) high mild
1 (1.00%) high severe
generated_vs_handwritten/get_b/generated
time: [3.0859 ns 3.0993 ns 3.1140 ns]
change: [-0.0300% +0.6051% +1.2511%] (p = 0.06 > 0.05)
No change in performance detected.
Found 9 outliers among 100 measurements (9.00%)
1 (1.00%) low mild
6 (6.00%) high mild
2 (2.00%) high severe
generated_vs_handwritten/get_b/handwritten
time: [3.1062 ns 3.1154 ns 3.1244 ns]
change: [-1.3316% -0.2969% +0.5530%] (p = 0.58 > 0.05)
No change in performance detected.
Found 8 outliers among 100 measurements (8.00%)
3 (3.00%) low mild
5 (5.00%) high mild
generated_vs_handwritten/get_c/generated
time: [3.0892 ns 3.1140 ns 3.1491 ns]
change: [-0.7616% +0.2202% +1.4450%] (p = 0.70 > 0.05)
No change in performance detected.
Found 9 outliers among 100 measurements (9.00%)
1 (1.00%) low mild
5 (5.00%) high mild
3 (3.00%) high severe
generated_vs_handwritten/get_c/handwritten
time: [3.1031 ns 3.1144 ns 3.1266 ns]
change: [-1.3064% -0.6966% -0.0637%] (p = 0.03 < 0.05)
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low severe
2 (2.00%) high mild
1 (1.00%) high severe
generated_vs_handwritten/get_d/generated
time: [3.0937 ns 3.1055 ns 3.1182 ns]
change: [-0.7686% -0.0244% +0.7730%] (p = 0.95 > 0.05)
No change in performance detected.
Found 9 outliers among 100 measurements (9.00%)
1 (1.00%) low mild
3 (3.00%) high mild
5 (5.00%) high severe
generated_vs_handwritten/get_d/handwritten
time: [3.1109 ns 3.1258 ns 3.1422 ns]
change: [-3.4831% -1.8967% -0.5484%] (p = 0.01 < 0.05)
Change within noise threshold.
Found 7 outliers among 100 measurements (7.00%)
5 (5.00%) high mild
2 (2.00%) high severe
generated_vs_handwritten/get_e/generated
time: [3.1009 ns 3.1139 ns 3.1293 ns]
change: [-1.9209% -1.0618% -0.2238%] (p = 0.01 < 0.05)
Change within noise threshold.
Found 8 outliers among 100 measurements (8.00%)
3 (3.00%) low mild
3 (3.00%) high mild
2 (2.00%) high severe
generated_vs_handwritten/get_e/handwritten
time: [3.1217 ns 3.1366 ns 3.1534 ns]
change: [+0.8488% +1.7349% +2.6282%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
4 (4.00%) high mild
1 (1.00%) high severe
generated_vs_handwritten/get_f/generated
time: [3.1064 ns 3.1164 ns 3.1269 ns]
change: [-0.5971% +0.7445% +1.9888%] (p = 0.28 > 0.05)
No change in performance detected.
Found 11 outliers among 100 measurements (11.00%)
2 (2.00%) low mild
2 (2.00%) high mild
7 (7.00%) high severe
generated_vs_handwritten/get_f/handwritten
time: [3.1067 ns 3.1221 ns 3.1404 ns]
change: [+0.5296% +1.4821% +2.6023%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 7 outliers among 100 measurements (7.00%)
2 (2.00%) high mild
5 (5.00%) high severe
generated_vs_handwritten/set_a/generated
time: [15.784 ns 15.855 ns 15.932 ns]
change: [-1.6088% -0.8700% -0.2140%] (p = 0.02 < 0.05)
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
5 (5.00%) high mild
generated_vs_handwritten/set_a/handwritten
time: [15.841 ns 15.907 ns 15.980 ns]
change: [-0.2983% +0.4379% +1.3914%] (p = 0.31 > 0.05)
No change in performance detected.
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low mild
5 (5.00%) high mild
1 (1.00%) high severe
generated_vs_handwritten/set_b/generated
time: [20.496 ns 20.567 ns 20.643 ns]
change: [-0.8383% -0.2111% +0.4584%] (p = 0.52 > 0.05)
No change in performance detected.
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) high mild
2 (2.00%) high severe
generated_vs_handwritten/set_b/handwritten
time: [20.319 ns 20.384 ns 20.454 ns]
change: [-1.6673% -0.8462% -0.0327%] (p = 0.04 < 0.05)
Change within noise threshold.
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low mild
5 (5.00%) high mild
2 (2.00%) high severe
generated_vs_handwritten/set_c/generated
time: [19.155 ns 19.362 ns 19.592 ns]
change: [-2.7142% -1.3965% -0.1626%] (p = 0.03 < 0.05)
Change within noise threshold.
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low mild
2 (2.00%) high mild
5 (5.00%) high severe
generated_vs_handwritten/set_c/handwritten
time: [19.265 ns 19.383 ns 19.523 ns]
change: [+0.7326% +1.4495% +2.1674%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 6 outliers among 100 measurements (6.00%)
3 (3.00%) high mild
3 (3.00%) high severe
generated_vs_handwritten/set_d/generated
time: [12.325 ns 12.376 ns 12.429 ns]
change: [-3.7128% -2.0240% -0.6176%] (p = 0.01 < 0.05)
Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mild
generated_vs_handwritten/set_d/handwritten
time: [12.416 ns 12.472 ns 12.541 ns]
change: [+0.1360% +1.1308% +2.0188%] (p = 0.02 < 0.05)
Change within noise threshold.
Found 6 outliers among 100 measurements (6.00%)
2 (2.00%) low mild
3 (3.00%) high mild
1 (1.00%) high severe
generated_vs_handwritten/set_e/generated
time: [20.460 ns 20.528 ns 20.601 ns]
change: [-1.8090% -0.8693% -0.0429%] (p = 0.06 > 0.05)
No change in performance detected.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low mild
1 (1.00%) high mild
2 (2.00%) high severe
generated_vs_handwritten/set_e/handwritten
time: [20.473 ns 20.534 ns 20.601 ns]
change: [-0.6859% +0.4193% +1.6916%] (p = 0.52 > 0.05)
No change in performance detected.
Found 7 outliers among 100 measurements (7.00%)
5 (5.00%) high mild
2 (2.00%) high severe
generated_vs_handwritten/set_f/generated
time: [6.1466 ns 6.1769 ns 6.2127 ns]
change: [-1.0421% +0.1217% +1.1972%] (p = 0.84 > 0.05)
No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
1 (1.00%) low mild
3 (3.00%) high mild
1 (1.00%) high severe
generated_vs_handwritten/set_f/handwritten
time: [6.1467 ns 6.1962 ns 6.2670 ns]
change: [-0.4652% +0.2345% +1.0760%] (p = 0.57 > 0.05)
No change in performance detected.
Found 5 outliers among 100 measurements (5.00%)
4 (4.00%) high mild
1 (1.00%) high severe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment