Skip to content

Instantly share code, notes, and snippets.

@sgeisler
Created January 3, 2019 05:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sgeisler/5a462edd7c5c9cdede84a97e8664ceb8 to your computer and use it in GitHub Desktop.
Save sgeisler/5a462edd7c5c9cdede84a97e8664ceb8 to your computer and use it in GitHub Desktop.
Benchmark of different hex decoding functions in rust
Running target/release/deps/from_hex-fc9ec3ff3f00540b
Gnuplot not found, disabling plotting
current decode 16 bytes time: [274.52 ns 275.15 ns 275.97 ns]
change: [-3.0724% -1.8371% -0.7138%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
5 (5.00%) high mild
optimized bytes decode 16 bytes
time: [49.239 ns 49.477 ns 49.769 ns]
Found 11 outliers among 100 measurements (11.00%)
1 (1.00%) low mild
2 (2.00%) high mild
8 (8.00%) high severe
Running target/release/deps/from_hex-fc9ec3ff3f00540b
Gnuplot not found, disabling plotting
current decode 16 bytes time: [274.52 ns 275.15 ns 275.97 ns]
change: [-3.0724% -1.8371% -0.7138%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
5 (5.00%) high mild
optimized bytes decode 16 bytes
time: [49.239 ns 49.477 ns 49.769 ns]
Found 11 outliers among 100 measurements (11.00%)
1 (1.00%) low mild
2 (2.00%) high mild
8 (8.00%) high severe
unoptimized cleaned up decode 16 bytes
time: [207.30 ns 208.31 ns 209.57 ns]
Found 11 outliers among 100 measurements (11.00%)
4 (4.00%) high mild
7 (7.00%) high severe
matt 1 decode 16 bytes time: [63.206 ns 63.416 ns 63.669 ns]
Found 10 outliers among 100 measurements (10.00%)
3 (3.00%) high mild
7 (7.00%) high severe
matt 2 decode 16 bytes time: [58.471 ns 58.707 ns 59.015 ns]
Found 9 outliers among 100 measurements (9.00%)
2 (2.00%) low mild
4 (4.00%) high mild
3 (3.00%) high severe
matt 3 decode 16 bytes time: [66.886 ns 67.139 ns 67.394 ns]
Found 2 outliers among 100 measurements (2.00%)
2 (2.00%) high severe
current decode 32 bytes time: [464.10 ns 464.92 ns 465.80 ns]
change: [-1.0368% -0.5406% -0.0598%] (p = 0.03 < 0.05)
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
1 (1.00%) low mild
3 (3.00%) high mild
1 (1.00%) high severe
optimized bytes decode 32 bytes
time: [75.564 ns 75.702 ns 75.854 ns]
change: [-1.6405% -1.1297% -0.7251%] (p = 0.00 < 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
unoptimized cleaned up decode 32 bytes
time: [324.45 ns 325.26 ns 326.20 ns]
change: [-0.7913% -0.4545% -0.1156%] (p = 0.01 < 0.05)
Change within noise threshold.
Found 12 outliers among 100 measurements (12.00%)
1 (1.00%) low mild
4 (4.00%) high mild
7 (7.00%) high severe
matt 1 decode 32 bytes time: [102.70 ns 102.88 ns 103.06 ns]
change: [-3.8665% -3.4568% -3.0227%] (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
matt 2 decode 32 bytes time: [94.835 ns 94.962 ns 95.090 ns]
change: [-4.3263% -2.2685% -0.8731%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
1 (1.00%) low mild
2 (2.00%) high mild
2 (2.00%) high severe
matt 3 decode 32 bytes time: [119.13 ns 119.45 ns 119.78 ns]
change: [+1.3852% +1.8694% +2.3922%] (p = 0.00 < 0.05)
Performance has regressed.
Found 7 outliers among 100 measurements (7.00%)
5 (5.00%) high mild
2 (2.00%) high severe
current decode 64 bytes time: [851.38 ns 852.33 ns 853.38 ns]
change: [+1.9712% +2.1637% +2.3423%] (p = 0.00 < 0.05)
Performance has regressed.
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low severe
1 (1.00%) low mild
3 (3.00%) high mild
2 (2.00%) high severe
optimized bytes decode 64 bytes
time: [128.71 ns 129.39 ns 130.22 ns]
change: [-1.2908% -0.6485% -0.0773%] (p = 0.04 < 0.05)
Change within noise threshold.
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low mild
2 (2.00%) high mild
4 (4.00%) high severe
unoptimized cleaned up decode 64 bytes
time: [561.76 ns 562.33 ns 562.99 ns]
change: [-4.5970% -3.0952% -1.7992%] (p = 0.00 < 0.05)
Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
9 (9.00%) high mild
2 (2.00%) high severe
matt 1 decode 64 bytes time: [184.80 ns 185.29 ns 185.85 ns]
change: [-2.5136% -1.9399% -1.4800%] (p = 0.00 < 0.05)
Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) high mild
2 (2.00%) high severe
matt 2 decode 64 bytes time: [173.74 ns 174.10 ns 174.52 ns]
change: [+1.1464% +1.7119% +2.2730%] (p = 0.00 < 0.05)
Performance has regressed.
Found 13 outliers among 100 measurements (13.00%)
1 (1.00%) low severe
4 (4.00%) high mild
8 (8.00%) high severe
matt 3 decode 64 bytes time: [227.18 ns 227.77 ns 228.30 ns]
change: [-2.3357% -2.0769% -1.8200%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low severe
2 (2.00%) low mild
3 (3.00%) high mild
2 (2.00%) high severe
unoptimized cleaned up decode 16 bytes
time: [207.30 ns 208.31 ns 209.57 ns]
Found 11 outliers among 100 measurements (11.00%)
4 (4.00%) high mild
7 (7.00%) high severe
matt 1 decode 16 bytes time: [63.206 ns 63.416 ns 63.669 ns]
Found 10 outliers among 100 measurements (10.00%)
3 (3.00%) high mild
7 (7.00%) high severe
matt 2 decode 16 bytes time: [58.471 ns 58.707 ns 59.015 ns]
Found 9 outliers among 100 measurements (9.00%)
2 (2.00%) low mild
4 (4.00%) high mild
3 (3.00%) high severe
matt 3 decode 16 bytes time: [66.886 ns 67.139 ns 67.394 ns]
Found 2 outliers among 100 measurements (2.00%)
2 (2.00%) high severe
current decode 32 bytes time: [464.10 ns 464.92 ns 465.80 ns]
change: [-1.0368% -0.5406% -0.0598%] (p = 0.03 < 0.05)
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
1 (1.00%) low mild
3 (3.00%) high mild
1 (1.00%) high severe
optimized bytes decode 32 bytes
time: [75.564 ns 75.702 ns 75.854 ns]
change: [-1.6405% -1.1297% -0.7251%] (p = 0.00 < 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
unoptimized cleaned up decode 32 bytes
time: [324.45 ns 325.26 ns 326.20 ns]
change: [-0.7913% -0.4545% -0.1156%] (p = 0.01 < 0.05)
Change within noise threshold.
Found 12 outliers among 100 measurements (12.00%)
1 (1.00%) low mild
4 (4.00%) high mild
7 (7.00%) high severe
matt 1 decode 32 bytes time: [102.70 ns 102.88 ns 103.06 ns]
change: [-3.8665% -3.4568% -3.0227%] (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
matt 2 decode 32 bytes time: [94.835 ns 94.962 ns 95.090 ns]
change: [-4.3263% -2.2685% -0.8731%] (p = 0.00 < 0.05)
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
1 (1.00%) low mild
2 (2.00%) high mild
2 (2.00%) high severe
matt 3 decode 32 bytes time: [119.13 ns 119.45 ns 119.78 ns]
change: [+1.3852% +1.8694% +2.3922%] (p = 0.00 < 0.05)
Performance has regressed.
Found 7 outliers among 100 measurements (7.00%)
5 (5.00%) high mild
2 (2.00%) high severe
current decode 64 bytes time: [851.38 ns 852.33 ns 853.38 ns]
change: [+1.9712% +2.1637% +2.3423%] (p = 0.00 < 0.05)
Performance has regressed.
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low severe
1 (1.00%) low mild
3 (3.00%) high mild
2 (2.00%) high severe
optimized bytes decode 64 bytes
time: [128.71 ns 129.39 ns 130.22 ns]
change: [-1.2908% -0.6485% -0.0773%] (p = 0.04 < 0.05)
Change within noise threshold.
Found 7 outliers among 100 measurements (7.00%)
1 (1.00%) low mild
2 (2.00%) high mild
4 (4.00%) high severe
unoptimized cleaned up decode 64 bytes
time: [561.76 ns 562.33 ns 562.99 ns]
change: [-4.5970% -3.0952% -1.7992%] (p = 0.00 < 0.05)
Performance has improved.
Found 11 outliers among 100 measurements (11.00%)
9 (9.00%) high mild
2 (2.00%) high severe
matt 1 decode 64 bytes time: [184.80 ns 185.29 ns 185.85 ns]
change: [-2.5136% -1.9399% -1.4800%] (p = 0.00 < 0.05)
Performance has improved.
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) high mild
2 (2.00%) high severe
matt 2 decode 64 bytes time: [173.74 ns 174.10 ns 174.52 ns]
change: [+1.1464% +1.7119% +2.2730%] (p = 0.00 < 0.05)
Performance has regressed.
Found 13 outliers among 100 measurements (13.00%)
1 (1.00%) low severe
4 (4.00%) high mild
8 (8.00%) high severe
matt 3 decode 64 bytes time: [227.18 ns 227.77 ns 228.30 ns]
change: [-2.3357% -2.0769% -1.8200%] (p = 0.00 < 0.05)
Performance has improved.
Found 8 outliers among 100 measurements (8.00%)
1 (1.00%) low severe
2 (2.00%) low mild
3 (3.00%) high mild
2 (2.00%) high severe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment