Created
June 18, 2019 04:52
-
-
Save PragTob/f937029439e4b16de5809c666546ef15 to your computer and use it in GitHub Desktop.
Board run with array
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
tobi@speedy:~/github/elixir_boards_benchmark(master)$ mix run benchmark.exs | |
================= Getting and setting full board ==================== | |
Operating System: Linux | |
CPU Information: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz | |
Number of Available Cores: 8 | |
Available memory: 15.61 GB | |
Elixir 1.8.2 | |
Erlang 22.0 | |
Benchmark suite executing with the following configuration: | |
warmup: 500 ms | |
time: 2 s | |
memory time: 100 ms | |
parallel: 1 | |
inputs: none specified | |
Estimated total run time: 36.40 s | |
Benchmarking List1D... | |
Benchmarking List2D... | |
Benchmarking MapTuple... | |
Benchmarking MapTupleHalfFull... | |
Benchmarking MapTupleQuarterFull... | |
Benchmarking MapTupleFull... | |
Benchmarking Map2D... | |
Benchmarking Tuple1D... | |
Benchmarking Tuple2D... | |
Benchmarking ETSSet... | |
Benchmarking ETSOrderedSet... | |
Benchmarking ProcessDictionary... | |
Benchmarking Array1D... | |
Benchmarking Array2D... | |
Name ips average deviation median 99th % | |
Tuple1D 128.14 K 7.80 μs ±37.71% 6.89 μs 19.31 μs | |
Tuple2D 126.39 K 7.91 μs ±53.79% 7.17 μs 23.00 μs | |
MapTuple 122.62 K 8.16 μs ±34.57% 7.55 μs 18.26 μs | |
ProcessDictionary 61.34 K 16.30 μs ±27.08% 15.08 μs 39.67 μs | |
ETSSet 57.97 K 17.25 μs ±18.55% 16.31 μs 35.24 μs | |
Array2D 54.90 K 18.21 μs ±29.83% 17.04 μs 37.67 μs | |
MapTupleFull 51.49 K 19.42 μs ±39.91% 17.02 μs 46.76 μs | |
MapTupleHalfFull 51.03 K 19.59 μs ±27.42% 17.97 μs 43.88 μs | |
Array1D 49.17 K 20.34 μs ±26.52% 19.30 μs 40.19 μs | |
ETSOrderedSet 37.63 K 26.58 μs ±16.98% 25.08 μs 51.71 μs | |
Map2D 34.57 K 28.93 μs ±21.78% 28.04 μs 66.38 μs | |
List2D 27.62 K 36.20 μs ±25.90% 33.54 μs 97.08 μs | |
MapTupleQuarterFull 26.91 K 37.17 μs ±19.97% 35.04 μs 77.27 μs | |
List1D 15.12 K 66.12 μs ±14.32% 64.33 μs 112.02 μs | |
Comparison: | |
Tuple1D 128.14 K | |
Tuple2D 126.39 K - 1.01x slower +0.108 μs | |
MapTuple 122.62 K - 1.05x slower +0.35 μs | |
ProcessDictionary 61.34 K - 2.09x slower +8.50 μs | |
ETSSet 57.97 K - 2.21x slower +9.45 μs | |
Array2D 54.90 K - 2.33x slower +10.41 μs | |
MapTupleFull 51.49 K - 2.49x slower +11.62 μs | |
MapTupleHalfFull 51.03 K - 2.51x slower +11.79 μs | |
Array1D 49.17 K - 2.61x slower +12.54 μs | |
ETSOrderedSet 37.63 K - 3.41x slower +18.77 μs | |
Map2D 34.57 K - 3.71x slower +21.13 μs | |
List2D 27.62 K - 4.64x slower +28.40 μs | |
MapTupleQuarterFull 26.91 K - 4.76x slower +29.36 μs | |
List1D 15.12 K - 8.47x slower +58.32 μs | |
Extended statistics: | |
Name minimum maximum sample size mode | |
Tuple1D 6.63 μs 647.03 μs 235.25 K 6.82 μs | |
Tuple2D 6.92 μs 1211.89 μs 233.38 K 7.14 μs | |
MapTuple 7.38 μs 582.88 μs 227.25 K 7.51 μs | |
ProcessDictionary 14.83 μs 317.42 μs 86.28 K 14.98 μs | |
ETSSet 15.80 μs 165.72 μs 40.14 K 16.27 μs | |
Array2D 16.47 μs 744.34 μs 100.23 K 16.95 μs | |
MapTupleFull 16.43 μs 341.29 μs 60.90 K 16.63 μs | |
MapTupleHalfFull 17.65 μs 264.42 μs 72.83 K 17.91 μs | |
Array1D 18.76 μs 436.33 μs 94.64 K 19.00 μs | |
ETSOrderedSet 24.31 μs 263.54 μs 32.48 K 24.88 μs, 24.88 μs | |
Map2D 25.01 μs 177.96 μs 58.46 K 25.89 μs | |
List2D 31.09 μs 329.74 μs 49.16 K 33.34 μs | |
MapTupleQuarterFull 34.38 μs 336.69 μs 49.08 K 34.61 μs | |
List1D 61.53 μs 322.77 μs 28.80 K 64.31 μs | |
Memory usage statistics: | |
Name Memory usage | |
Tuple1D 54.91 KB | |
Tuple2D 18.51 KB - 0.34x memory usage -36.40625 KB | |
MapTuple 12.74 KB - 0.23x memory usage -42.17188 KB | |
ProcessDictionary 9.52 KB - 0.17x memory usage -45.39844 KB | |
ETSSet 11.55 KB - 0.21x memory usage -43.36719 KB | |
Array2D 34.33 KB - 0.63x memory usage -20.58594 KB | |
MapTupleFull 25.79 KB - 0.47x memory usage -29.12500 KB | |
MapTupleHalfFull 24.06 KB - 0.44x memory usage -30.85156 KB | |
Array1D 38.10 KB - 0.69x memory usage -16.81250 KB | |
ETSOrderedSet 11.55 KB - 0.21x memory usage -43.36719 KB | |
Map2D 49.55 KB - 0.90x memory usage -5.35938 KB | |
List2D 22.60 KB - 0.41x memory usage -32.31250 KB | |
MapTupleQuarterFull 47.56 KB - 0.87x memory usage -7.35156 KB | |
List1D 59.38 KB - 1.08x memory usage +4.47 KB | |
**All measurements for memory usage were the same** | |
Generated output/html/getting_and_setting_full_board.html | |
Generated output/html/getting_and_setting_full_board_array1d.html | |
Generated output/html/getting_and_setting_full_board_array2d.html | |
Generated output/html/getting_and_setting_full_board_etsorderedset.html | |
Generated output/html/getting_and_setting_full_board_etsset.html | |
Generated output/html/getting_and_setting_full_board_list1d.html | |
Generated output/html/getting_and_setting_full_board_list2d.html | |
Generated output/html/getting_and_setting_full_board_map2d.html | |
Generated output/html/getting_and_setting_full_board_maptuple.html | |
Generated output/html/getting_and_setting_full_board_maptuplefull.html | |
Generated output/html/getting_and_setting_full_board_maptuplehalffull.html | |
Generated output/html/getting_and_setting_full_board_maptuplequarterfull.html | |
Generated output/html/getting_and_setting_full_board_processdictionary.html | |
Generated output/html/getting_and_setting_full_board_tuple1d.html | |
Generated output/html/getting_and_setting_full_board_tuple2d.html | |
Generated output/html/getting_and_setting_full_board_comparison.html | |
================= get(0, 0) ==================== | |
Name ips average deviation median 99th % | |
Tuple2D 31.93 M 31.32 ns ±1065.29% 23 ns 156 ns | |
Tuple1D 29.78 M 33.58 ns ±580.33% 26 ns 147 ns | |
MapTuple 25.62 M 39.03 ns ±1308.42% 35 ns 134 ns | |
Array1D 24.48 M 40.85 ns ±100.36% 38 ns 206 ns | |
List1D 18.24 M 54.82 ns ±48.37% 51 ns 138 ns | |
MapTupleQuarterFull 16.65 M 60.05 ns ±71.73% 53 ns 272 ns | |
ProcessDictionary 16.34 M 61.19 ns ±115.33% 55 ns 242 ns | |
Array2D 14.06 M 71.11 ns ±176.35% 60 ns 361 ns | |
Map2D 14.02 M 71.31 ns ±101.64% 61 ns 259 ns | |
MapTupleHalfFull 10.44 M 95.80 ns ±44.66% 91 ns 189.87 ns | |
List2D 8.82 M 113.40 ns ±76.75% 104 ns 381 ns | |
MapTupleFull 8.72 M 114.66 ns ±74.32% 96 ns 516.40 ns | |
ETSSet 7.55 M 132.48 ns ±78.08% 100 ns 523 ns | |
ETSOrderedSet 5.48 M 182.42 ns ±105.13% 164 ns 615.62 ns | |
Comparison: | |
Tuple2D 31.93 M | |
Tuple1D 29.78 M - 1.07x slower +2.26 ns | |
MapTuple 25.62 M - 1.25x slower +7.71 ns | |
Array1D 24.48 M - 1.30x slower +9.52 ns | |
List1D 18.24 M - 1.75x slower +23.50 ns | |
MapTupleQuarterFull 16.65 M - 1.92x slower +28.73 ns | |
ProcessDictionary 16.34 M - 1.95x slower +29.87 ns | |
Array2D 14.06 M - 2.27x slower +39.78 ns | |
Map2D 14.02 M - 2.28x slower +39.99 ns | |
MapTupleHalfFull 10.44 M - 3.06x slower +64.47 ns | |
List2D 8.82 M - 3.62x slower +82.07 ns | |
MapTupleFull 8.72 M - 3.66x slower +83.34 ns | |
ETSSet 7.55 M - 4.23x slower +101.16 ns | |
ETSOrderedSet 5.48 M - 5.82x slower +151.10 ns | |
Generated output/html/get_0_0.html | |
Generated output/html/get_0_0_array1d.html | |
Generated output/html/get_0_0_array2d.html | |
Generated output/html/get_0_0_etsorderedset.html | |
Generated output/html/get_0_0_etsset.html | |
Generated output/html/get_0_0_list1d.html | |
Generated output/html/get_0_0_list2d.html | |
Generated output/html/get_0_0_map2d.html | |
Generated output/html/get_0_0_maptuple.html | |
Generated output/html/get_0_0_maptuplefull.html | |
Generated output/html/get_0_0_maptuplehalffull.html | |
Generated output/html/get_0_0_maptuplequarterfull.html | |
Generated output/html/get_0_0_processdictionary.html | |
Generated output/html/get_0_0_tuple1d.html | |
Generated output/html/get_0_0_tuple2d.html | |
Generated output/html/get_0_0_comparison.html | |
================= get(4, 4) ==================== | |
Name ips average deviation median 99th % | |
Tuple2D 64.84 M 15.42 ns ±1173.99% 11 ns 127 ns | |
Tuple1D 55.07 M 18.16 ns ±889.60% 12 ns 150 ns | |
MapTuple 35.23 M 28.39 ns ±1322.30% 23 ns 165 ns | |
Array1D 33.54 M 29.82 ns ±136.00% 25 ns 207 ns | |
ProcessDictionary 20.41 M 49.01 ns ±733.31% 44 ns 145 ns | |
Array2D 19.60 M 51.02 ns ±107.00% 43 ns 292.02 ns | |
Map2D 18.10 M 55.25 ns ±103.70% 47 ns 260 ns | |
MapTupleHalfFull 11.91 M 83.99 ns ±76.85% 75 ns 359.47 ns | |
MapTupleFull 10.64 M 94.02 ns ±70.98% 82 ns 414 ns | |
ETSSet 10.43 M 95.87 ns ±60.60% 87 ns 422.64 ns | |
List2D 6.50 M 153.74 ns ±63.68% 141 ns 409 ns | |
ETSOrderedSet 6.05 M 165.42 ns ±34.32% 158 ns 398.70 ns | |
MapTupleQuarterFull 4.15 M 240.68 ns ±32.34% 227 ns 546 ns | |
List1D 2.48 M 402.59 ns ±34.17% 381 ns 1138 ns | |
Comparison: | |
Tuple2D 64.84 M | |
Tuple1D 55.07 M - 1.18x slower +2.74 ns | |
MapTuple 35.23 M - 1.84x slower +12.96 ns | |
Array1D 33.54 M - 1.93x slower +14.39 ns | |
ProcessDictionary 20.41 M - 3.18x slower +33.58 ns | |
Array2D 19.60 M - 3.31x slower +35.60 ns | |
Map2D 18.10 M - 3.58x slower +39.82 ns | |
MapTupleHalfFull 11.91 M - 5.45x slower +68.57 ns | |
MapTupleFull 10.64 M - 6.10x slower +78.59 ns | |
ETSSet 10.43 M - 6.22x slower +80.45 ns | |
List2D 6.50 M - 9.97x slower +138.32 ns | |
ETSOrderedSet 6.05 M - 10.73x slower +150.00 ns | |
MapTupleQuarterFull 4.15 M - 15.61x slower +225.26 ns | |
List1D 2.48 M - 26.10x slower +387.16 ns | |
Generated output/html/get_4_4.html | |
Generated output/html/get_4_4_array1d.html | |
Generated output/html/get_4_4_array2d.html | |
Generated output/html/get_4_4_etsorderedset.html | |
Generated output/html/get_4_4_etsset.html | |
Generated output/html/get_4_4_list1d.html | |
Generated output/html/get_4_4_list2d.html | |
Generated output/html/get_4_4_map2d.html | |
Generated output/html/get_4_4_maptuple.html | |
Generated output/html/get_4_4_maptuplefull.html | |
Generated output/html/get_4_4_maptuplehalffull.html | |
Generated output/html/get_4_4_maptuplequarterfull.html | |
Generated output/html/get_4_4_processdictionary.html | |
Generated output/html/get_4_4_tuple1d.html | |
Generated output/html/get_4_4_tuple2d.html | |
Generated output/html/get_4_4_comparison.html | |
================= get(8, 8) ==================== | |
Name ips average deviation median 99th % | |
Tuple2D 217.98 M 4.59 ns ±3637.28% 0 ns 117 ns | |
Tuple1D 190.11 M 5.26 ns ±3262.44% 1 ns 66 ns | |
MapTuple 59.50 M 16.81 ns ±286.54% 11 ns 173 ns | |
Array1D 56.52 M 17.69 ns ±288.64% 15 ns 92 ns | |
ProcessDictionary 28.49 M 35.10 ns ±1899.28% 28 ns 205 ns | |
Array2D 26.17 M 38.22 ns ±144.50% 31 ns 265 ns | |
Map2D 20.49 M 48.80 ns ±108.28% 48 ns 117 ns | |
MapTupleHalfFull 16.34 M 61.21 ns ±105.97% 54 ns 301 ns | |
ETSSet 10.83 M 92.31 ns ±81.19% 79 ns 500 ns | |
MapTupleFull 10.77 M 92.86 ns ±73.51% 80 ns 469 ns | |
ETSOrderedSet 6.32 M 158.35 ns ±52.38% 146 ns 586 ns | |
MapTupleQuarterFull 4.45 M 224.64 ns ±25.95% 216 ns 558.85 ns | |
List2D 4.03 M 248.07 ns ±56.81% 223 ns 903 ns | |
List1D 1.37 M 729.82 ns ±28.98% 690 ns 2004 ns | |
Comparison: | |
Tuple2D 217.98 M | |
Tuple1D 190.11 M - 1.15x slower +0.67 ns | |
MapTuple 59.50 M - 3.66x slower +12.22 ns | |
Array1D 56.52 M - 3.86x slower +13.10 ns | |
ProcessDictionary 28.49 M - 7.65x slower +30.51 ns | |
Array2D 26.17 M - 8.33x slower +33.63 ns | |
Map2D 20.49 M - 10.64x slower +44.21 ns | |
MapTupleHalfFull 16.34 M - 13.34x slower +56.62 ns | |
ETSSet 10.83 M - 20.12x slower +87.73 ns | |
MapTupleFull 10.77 M - 20.24x slower +88.27 ns | |
ETSOrderedSet 6.32 M - 34.52x slower +153.76 ns | |
MapTupleQuarterFull 4.45 M - 48.97x slower +220.05 ns | |
List2D 4.03 M - 54.07x slower +243.48 ns | |
List1D 1.37 M - 159.09x slower +725.24 ns | |
Generated output/html/get_8_8.html | |
Generated output/html/get_8_8_array1d.html | |
Generated output/html/get_8_8_array2d.html | |
Generated output/html/get_8_8_etsorderedset.html | |
Generated output/html/get_8_8_etsset.html | |
Generated output/html/get_8_8_list1d.html | |
Generated output/html/get_8_8_list2d.html | |
Generated output/html/get_8_8_map2d.html | |
Generated output/html/get_8_8_maptuple.html | |
Generated output/html/get_8_8_maptuplefull.html | |
Generated output/html/get_8_8_maptuplehalffull.html | |
Generated output/html/get_8_8_maptuplequarterfull.html | |
Generated output/html/get_8_8_processdictionary.html | |
Generated output/html/get_8_8_tuple1d.html | |
Generated output/html/get_8_8_tuple2d.html | |
Generated output/html/get_8_8_comparison.html | |
================= set(0, 0, :boom) ==================== | |
Name ips average deviation median 99th % | |
MapTuple 27.40 M 36.50 ns ±5437.19% 27 ns 168 ns | |
List1D 25.16 M 39.75 ns ±102.76% 31 ns 260 ns | |
Tuple2D 17.47 M 57.24 ns ±2335.65% 43 ns 255 ns | |
ProcessDictionary 15.62 M 64.03 ns ±1243.16% 52 ns 231 ns | |
Tuple1D 11.78 M 84.91 ns ±5536.66% 45 ns 220.91 ns | |
List2D 11.63 M 85.95 ns ±584.60% 68 ns 337 ns | |
MapTupleQuarterFull 9.24 M 108.26 ns ±281.21% 74 ns 1396 ns | |
MapTupleFull 8.53 M 117.20 ns ±63.22% 103 ns 542 ns | |
ETSSet 8.10 M 123.41 ns ±67.58% 105 ns 580 ns | |
MapTupleHalfFull 7.00 M 142.77 ns ±228.44% 111 ns 500.85 ns | |
Array2D 6.81 M 146.75 ns ±298.53% 137 ns 379 ns | |
ETSOrderedSet 5.43 M 184.15 ns ±46.87% 167 ns 643.70 ns | |
Array1D 5.31 M 188.31 ns ±880.84% 144 ns 656 ns | |
Map2D 4.14 M 241.54 ns ±141.51% 207 ns 945.96 ns | |
Comparison: | |
MapTuple 27.40 M | |
List1D 25.16 M - 1.09x slower +3.25 ns | |
Tuple2D 17.47 M - 1.57x slower +20.74 ns | |
ProcessDictionary 15.62 M - 1.75x slower +27.53 ns | |
Tuple1D 11.78 M - 2.33x slower +48.41 ns | |
List2D 11.63 M - 2.35x slower +49.45 ns | |
MapTupleQuarterFull 9.24 M - 2.97x slower +71.76 ns | |
MapTupleFull 8.53 M - 3.21x slower +80.70 ns | |
ETSSet 8.10 M - 3.38x slower +86.91 ns | |
MapTupleHalfFull 7.00 M - 3.91x slower +106.27 ns | |
Array2D 6.81 M - 4.02x slower +110.25 ns | |
ETSOrderedSet 5.43 M - 5.05x slower +147.65 ns | |
Array1D 5.31 M - 5.16x slower +151.81 ns | |
Map2D 4.14 M - 6.62x slower +205.04 ns | |
Generated output/html/set_0_0.html | |
Generated output/html/set_0_0_array1d.html | |
Generated output/html/set_0_0_array2d.html | |
Generated output/html/set_0_0_etsorderedset.html | |
Generated output/html/set_0_0_etsset.html | |
Generated output/html/set_0_0_list1d.html | |
Generated output/html/set_0_0_list2d.html | |
Generated output/html/set_0_0_map2d.html | |
Generated output/html/set_0_0_maptuple.html | |
Generated output/html/set_0_0_maptuplefull.html | |
Generated output/html/set_0_0_maptuplehalffull.html | |
Generated output/html/set_0_0_maptuplequarterfull.html | |
Generated output/html/set_0_0_processdictionary.html | |
Generated output/html/set_0_0_tuple1d.html | |
Generated output/html/set_0_0_tuple2d.html | |
Generated output/html/set_0_0_comparison.html | |
================= set(4, 4, :boom) ==================== | |
Name ips average deviation median 99th % | |
MapTuple 19.51 M 51.25 ns ±20633.02% 22 ns 105 ns | |
Tuple2D 19.51 M 51.26 ns ±2550.81% 37 ns 239 ns | |
ProcessDictionary 15.39 M 64.96 ns ±3171.83% 51 ns 164 ns | |
Tuple1D 12.71 M 78.69 ns ±6056.14% 39 ns 201 ns | |
MapTupleFull 9.16 M 109.11 ns ±70.10% 98 ns 451.06 ns | |
ETSSet 8.87 M 112.76 ns ±67.66% 99 ns 533 ns | |
MapTupleHalfFull 8.70 M 115.00 ns ±48.56% 106 ns 353 ns | |
Array2D 6.70 M 149.32 ns ±281.18% 136 ns 663 ns | |
Array1D 5.49 M 182.20 ns ±1115.23% 151 ns 597 ns | |
List2D 5.44 M 183.75 ns ±133.53% 171 ns 434 ns | |
ETSOrderedSet 5.23 M 191.19 ns ±45.62% 176 ns 686.88 ns | |
Map2D 3.93 M 254.25 ns ±124.37% 226 ns 784.72 ns | |
MapTupleQuarterFull 3.91 M 255.82 ns ±44.32% 241 ns 660 ns | |
List1D 2.64 M 379.08 ns ±472.24% 347 ns 690 ns | |
Comparison: | |
MapTuple 19.51 M | |
Tuple2D 19.51 M - 1.00x slower +0.00588 ns | |
ProcessDictionary 15.39 M - 1.27x slower +13.71 ns | |
Tuple1D 12.71 M - 1.54x slower +27.44 ns | |
MapTupleFull 9.16 M - 2.13x slower +57.86 ns | |
ETSSet 8.87 M - 2.20x slower +61.51 ns | |
MapTupleHalfFull 8.70 M - 2.24x slower +63.75 ns | |
Array2D 6.70 M - 2.91x slower +98.07 ns | |
Array1D 5.49 M - 3.56x slower +130.95 ns | |
List2D 5.44 M - 3.59x slower +132.50 ns | |
ETSOrderedSet 5.23 M - 3.73x slower +139.94 ns | |
Map2D 3.93 M - 4.96x slower +203.00 ns | |
MapTupleQuarterFull 3.91 M - 4.99x slower +204.57 ns | |
List1D 2.64 M - 7.40x slower +327.83 ns | |
Generated output/html/set_4_4.html | |
Generated output/html/set_4_4_array1d.html | |
Generated output/html/set_4_4_array2d.html | |
Generated output/html/set_4_4_etsorderedset.html | |
Generated output/html/set_4_4_etsset.html | |
Generated output/html/set_4_4_list1d.html | |
Generated output/html/set_4_4_list2d.html | |
Generated output/html/set_4_4_map2d.html | |
Generated output/html/set_4_4_maptuple.html | |
Generated output/html/set_4_4_maptuplefull.html | |
Generated output/html/set_4_4_maptuplehalffull.html | |
Generated output/html/set_4_4_maptuplequarterfull.html | |
Generated output/html/set_4_4_processdictionary.html | |
Generated output/html/set_4_4_tuple1d.html | |
Generated output/html/set_4_4_tuple2d.html | |
Generated output/html/set_4_4_comparison.html | |
================= set(8, 8, :boom) ==================== | |
Name ips average deviation median 99th % | |
MapTuple 31.33 M 31.92 ns ±6872.19% 23 ns 82 ns | |
Tuple2D 19.46 M 51.39 ns ±3746.87% 39 ns 125 ns | |
ProcessDictionary 17.16 M 58.28 ns ±1360.52% 48 ns 65 ns | |
Tuple1D 11.82 M 84.62 ns ±8372.47% 41 ns 190 ns | |
MapTupleHalfFull 9.57 M 104.52 ns ±249.91% 97 ns 327 ns | |
ETSSet 9.43 M 106.04 ns ±58.42% 98 ns 373.70 ns | |
MapTupleFull 8.93 M 112.04 ns ±63.81% 97 ns 514 ns | |
Array2D 6.89 M 145.12 ns ±310.13% 137 ns 330 ns | |
Array1D 5.69 M 175.62 ns ±813.15% 152 ns 413 ns | |
ETSOrderedSet 5.44 M 183.71 ns ±40.74% 172 ns 584.05 ns | |
Map2D 3.84 M 260.63 ns ±112.46% 233 ns 888.56 ns | |
List2D 3.19 M 313.67 ns ±73.27% 295 ns 631.67 ns | |
MapTupleQuarterFull 2.65 M 377.78 ns ±35.58% 364 ns 753.68 ns | |
List1D 1.40 M 715.83 ns ±189.66% 657 ns 1668 ns | |
Comparison: | |
MapTuple 31.33 M | |
Tuple2D 19.46 M - 1.61x slower +19.47 ns | |
ProcessDictionary 17.16 M - 1.83x slower +26.37 ns | |
Tuple1D 11.82 M - 2.65x slower +52.70 ns | |
MapTupleHalfFull 9.57 M - 3.27x slower +72.60 ns | |
ETSSet 9.43 M - 3.32x slower +74.12 ns | |
MapTupleFull 8.93 M - 3.51x slower +80.12 ns | |
Array2D 6.89 M - 4.55x slower +113.20 ns | |
Array1D 5.69 M - 5.50x slower +143.70 ns | |
ETSOrderedSet 5.44 M - 5.76x slower +151.80 ns | |
Map2D 3.84 M - 8.17x slower +228.72 ns | |
List2D 3.19 M - 9.83x slower +281.75 ns | |
MapTupleQuarterFull 2.65 M - 11.84x slower +345.86 ns | |
List1D 1.40 M - 22.43x slower +683.92 ns | |
Generated output/html/set_8_8.html | |
Generated output/html/set_8_8_array1d.html | |
Generated output/html/set_8_8_array2d.html | |
Generated output/html/set_8_8_etsorderedset.html | |
Generated output/html/set_8_8_etsset.html | |
Generated output/html/set_8_8_list1d.html | |
Generated output/html/set_8_8_list2d.html | |
Generated output/html/set_8_8_map2d.html | |
Generated output/html/set_8_8_maptuple.html | |
Generated output/html/set_8_8_maptuplefull.html | |
Generated output/html/set_8_8_maptuplehalffull.html | |
Generated output/html/set_8_8_maptuplequarterfull.html | |
Generated output/html/set_8_8_processdictionary.html | |
Generated output/html/set_8_8_tuple1d.html | |
Generated output/html/set_8_8_tuple2d.html | |
Generated output/html/set_8_8_comparison.html | |
================= mixed bag (3 sets, 3 gets) ==================== | |
Name ips average deviation median 99th % | |
Tuple2D 4.92 M 203.09 ns ±1284.47% 168 ns 646 ns | |
Tuple1D 4.92 M 203.36 ns ±1171.12% 158 ns 546 ns | |
MapTuple 4.50 M 222.14 ns ±713.69% 192 ns 657 ns | |
ProcessDictionary 3.03 M 330.04 ns ±1005.63% 286 ns 737 ns | |
Array1D 1.95 M 512.03 ns ±295.18% 441 ns 1689 ns | |
MapTupleFull 1.87 M 534.79 ns ±18.91% 517 ns 913 ns | |
MapTupleHalfFull 1.73 M 576.55 ns ±37.09% 545 ns 1607.55 ns | |
ETSSet 1.72 M 581.49 ns ±43.83% 524 ns 1857 ns | |
Array2D 1.67 M 597.52 ns ±271.74% 528 ns 2183 ns | |
Map2D 1.23 M 810.74 ns ±81.01% 749 ns 2716 ns | |
ETSOrderedSet 1.06 M 947.04 ns ±35.44% 859 ns 2444 ns | |
List2D 0.88 M 1139.47 ns ±50.84% 1059 ns 4394.69 ns | |
MapTupleQuarterFull 0.82 M 1219.15 ns ±166.95% 1187 ns 1475 ns | |
List1D 0.43 M 2301.54 ns ±113.96% 2146 ns 4129.93 ns | |
Comparison: | |
Tuple2D 4.92 M | |
Tuple1D 4.92 M - 1.00x slower +0.27 ns | |
MapTuple 4.50 M - 1.09x slower +19.05 ns | |
ProcessDictionary 3.03 M - 1.63x slower +126.95 ns | |
Array1D 1.95 M - 2.52x slower +308.94 ns | |
MapTupleFull 1.87 M - 2.63x slower +331.70 ns | |
MapTupleHalfFull 1.73 M - 2.84x slower +373.45 ns | |
ETSSet 1.72 M - 2.86x slower +378.40 ns | |
Array2D 1.67 M - 2.94x slower +394.43 ns | |
Map2D 1.23 M - 3.99x slower +607.65 ns | |
ETSOrderedSet 1.06 M - 4.66x slower +743.95 ns | |
List2D 0.88 M - 5.61x slower +936.38 ns | |
MapTupleQuarterFull 0.82 M - 6.00x slower +1016.06 ns | |
List1D 0.43 M - 11.33x slower +2098.45 ns | |
Extended statistics: | |
Name minimum maximum sample size mode | |
Tuple2D 152 ns 1393723 ns 376.04 K 167 ns | |
Tuple1D 135 ns 1144160 ns 379.79 K 152 ns | |
MapTuple 174 ns 820948 ns 358.24 K 192 ns | |
ProcessDictionary 266 ns 1571381 ns 245.93 K 282 ns | |
Array1D 415 ns 664784 ns 252.60 K 437 ns | |
MapTupleFull 479 ns 3778 ns 23.28 K 512 ns | |
MapTupleHalfFull 508 ns 6958 ns 37.65 K 542 ns | |
ETSSet 492 ns 6932 ns 12.50 K 517 ns | |
Array2D 483 ns 435899 ns 144.73 K 522 ns | |
Map2D 707 ns 135235 ns 53.68 K 742 ns | |
ETSOrderedSet 817 ns 9381 ns 10.03 K 852 ns | |
List2D 964 ns 89275 ns 61.15 K 1052 ns | |
MapTupleQuarterFull 1147 ns 523798 ns 68.07 K 1182 ns | |
List1D 2104 ns 589138 ns 56.01 K 2132 ns | |
Memory usage statistics: | |
Name Memory usage | |
Tuple2D 512 B | |
Tuple1D 1344 B - 2.63x memory usage +832 B | |
MapTuple 368 B - 0.72x memory usage -144 B | |
ProcessDictionary 104 B - 0.20x memory usage -408 B | |
Array1D 1088 B - 2.13x memory usage +576 B | |
MapTupleFull 400 B - 0.78x memory usage -112 B | |
MapTupleHalfFull 384 B - 0.75x memory usage -128 B | |
ETSSet 248 B - 0.48x memory usage -264 B | |
Array2D 1112 B - 2.17x memory usage +600 B | |
Map2D 1712 B - 3.34x memory usage +1200 B | |
ETSOrderedSet 248 B - 0.48x memory usage -264 B | |
List2D 656 B - 1.28x memory usage +144 B | |
MapTupleQuarterFull 1624 B - 3.17x memory usage +1112 B | |
List1D 2048 B - 4.00x memory usage +1536 B | |
**All measurements for memory usage were the same** | |
Generated output/html/mixed_bag.html | |
Generated output/html/mixed_bag_array1d.html | |
Generated output/html/mixed_bag_array2d.html | |
Generated output/html/mixed_bag_etsorderedset.html | |
Generated output/html/mixed_bag_etsset.html | |
Generated output/html/mixed_bag_list1d.html | |
Generated output/html/mixed_bag_list2d.html | |
Generated output/html/mixed_bag_map2d.html | |
Generated output/html/mixed_bag_maptuple.html | |
Generated output/html/mixed_bag_maptuplefull.html | |
Generated output/html/mixed_bag_maptuplehalffull.html | |
Generated output/html/mixed_bag_maptuplequarterfull.html | |
Generated output/html/mixed_bag_processdictionary.html | |
Generated output/html/mixed_bag_tuple1d.html | |
Generated output/html/mixed_bag_tuple2d.html | |
Generated output/html/mixed_bag_comparison.html |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment