Benchmarking is quite simple. You download the gist file I posted above and then run elixir benchmark.exs.
That’s it.
Name ips average deviation median 99th %
100phlecs 2.88 M 347.02 ns ±8200.44% 250 ns 417 ns
wanton7 2.47 M 405.02 ns ±4260.02% 334 ns 500 ns
nikiiv2 1.57 M 635.55 ns ±4499.36% 458 ns 875 ns
tomekowal 1.31 M 762.29 ns ±2640.36% 667 ns 917 ns
nikiiv 1.29 M 777.10 ns ±3606.33% 625 ns 917 ns
eksperimental 0.22 M 4460.79 ns ±200.29% 4083 ns 11791.46 ns
stefanluptak 0.0737 M 13571.83 ns ±26.25% 12917 ns 26416 ns
Comparison:
100phlecs 2.88 M
wanton7 2.47 M - 1.17x slower +58.00 ns
nikiiv2 1.57 M - 1.83x slower +288.53 ns
tomekowal 1.31 M - 2.20x slower +415.26 ns
nikiiv 1.29 M - 2.24x slower +430.07 ns
eksperimental 0.22 M - 12.85x slower +4113.77 ns
stefanluptak 0.0737 M - 39.11x slower +13224.80 ns
Memory usage statistics:
Name Memory usage
100phlecs 2.02 KB
wanton7 0.56 KB - 0.28x memory usage -1.46094 KB
nikiiv2 0.79 KB - 0.39x memory usage -1.23438 KB
tomekowal 6.64 KB - 3.28x memory usage +4.62 KB
nikiiv 6.66 KB - 3.29x memory usage +4.63 KB
eksperimental 28.74 KB - 14.20x memory usage +26.72 KB
stefanluptak 10.99 KB - 5.43x memory usage +8.97 KB


















