Skip to content

Instantly share code, notes, and snippets.

@PragTob
Created June 18, 2019 04:52
Show Gist options
  • Save PragTob/f937029439e4b16de5809c666546ef15 to your computer and use it in GitHub Desktop.
Save PragTob/f937029439e4b16de5809c666546ef15 to your computer and use it in GitHub Desktop.
Board run with array
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