-
Notifications
You must be signed in to change notification settings - Fork 0
ToArray
Georg Haaser edited this page Oct 20, 2019
·
2 revisions
creates an array of tuples from a random Map of size N.
Note that the table contains the overall times for creating the array, but the plot shows the average time per element.
BenchmarkDotNet=v0.11.5, OS=Windows 10.0.17763.805 (1809/October2018Update/Redstone5)
AMD Ryzen Threadripper 2950X, 1 CPU, 32 logical and 16 physical cores
.NET Core SDK=3.0.100
[Host] : .NET Core 2.1.13 (CoreCLR 4.6.28008.01, CoreFX 4.6.28008.01), 64bit RyuJIT DEBUG
Job-PHBEOK : .NET Core 2.1.13 (CoreCLR 4.6.28008.01, CoreFX 4.6.28008.01), 64bit RyuJIT
MaxIterationCount=100
| Method | N | Mean | Error | StdDev | Median | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| HashMapOkasaki_toArray | 10 | 215.3 ns | 4.447 ns | 13.11 ns | 214.9 ns | 0.4678 | - | - | 368 B |
| ImTools_toArray | 10 | 769.5 ns | 16.100 ns | 47.22 ns | 763.4 ns | 1.0166 | - | - | 800 B |
| FSharpMap_toArray | 10 | 360.1 ns | 7.757 ns | 22.75 ns | 360.7 ns | 0.8440 | - | - | 664 B |
| ImmutableDictionary_toArray | 10 | 1,799.5 ns | 35.851 ns | 78.69 ns | 1,808.6 ns | 0.1316 | - | - | 104 B |
| HashMapOkasaki_toArray | 20 | 497.9 ns | 12.524 ns | 36.93 ns | 492.5 ns | 0.8745 | - | - | 688 B |
| ImTools_toArray | 20 | 1,336.7 ns | 31.638 ns | 93.29 ns | 1,334.5 ns | 1.7891 | - | - | 1408 B |
| FSharpMap_toArray | 20 | 644.8 ns | 14.853 ns | 43.09 ns | 646.4 ns | 1.6575 | - | - | 1304 B |
| ImmutableDictionary_toArray | 20 | 3,425.2 ns | 68.215 ns | 197.90 ns | 3,413.8 ns | 0.2327 | - | - | 184 B |
| HashMapOkasaki_toArray | 30 | 906.5 ns | 24.933 ns | 73.13 ns | 900.9 ns | 1.2798 | - | - | 1008 B |
| ImTools_toArray | 30 | 1,721.9 ns | 34.337 ns | 88.64 ns | 1,711.1 ns | 2.1954 | - | - | 1728 B |
| FSharpMap_toArray | 30 | 1,018.3 ns | 25.899 ns | 75.96 ns | 1,018.5 ns | 2.4700 | - | - | 1944 B |
| ImmutableDictionary_toArray | 30 | 5,191.2 ns | 121.419 ns | 356.10 ns | 5,137.5 ns | 0.3281 | - | - | 264 B |
| HashMapOkasaki_toArray | 40 | 1,010.8 ns | 25.065 ns | 73.91 ns | 1,011.2 ns | 1.6880 | - | - | 1328 B |
| ImTools_toArray | 40 | 2,398.1 ns | 56.563 ns | 166.78 ns | 2,400.5 ns | 3.2921 | - | - | 2592 B |
| FSharpMap_toArray | 40 | 1,331.2 ns | 27.566 ns | 80.41 ns | 1,327.7 ns | 3.2845 | - | - | 2584 B |
| ImmutableDictionary_toArray | 40 | 6,489.9 ns | 130.442 ns | 382.56 ns | 6,508.5 ns | 0.4349 | - | - | 344 B |
| HashMapOkasaki_toArray | 50 | 1,370.3 ns | 29.514 ns | 87.02 ns | 1,374.1 ns | 2.0943 | - | - | 1648 B |
| ImTools_toArray | 50 | 2,748.4 ns | 57.692 ns | 170.11 ns | 2,745.1 ns | 3.7003 | - | - | 2912 B |
| FSharpMap_toArray | 50 | 1,707.5 ns | 34.074 ns | 86.11 ns | 1,710.9 ns | 4.0970 | - | - | 3224 B |
| ImmutableDictionary_toArray | 50 | 8,143.4 ns | 160.546 ns | 372.09 ns | 8,181.1 ns | 0.5341 | - | - | 424 B |
| HashMapOkasaki_toArray | 100 | 2,707.4 ns | 56.775 ns | 167.40 ns | 2,710.3 ns | 4.1275 | - | - | 3248 B |
| ImTools_toArray | 100 | 5,227.7 ns | 113.209 ns | 332.02 ns | 5,219.7 ns | 7.0724 | - | - | 5568 B |
| FSharpMap_toArray | 100 | 3,551.8 ns | 100.761 ns | 297.10 ns | 3,525.8 ns | 8.1635 | - | - | 6424 B |
| ImmutableDictionary_toArray | 100 | 15,752.3 ns | 373.627 ns | 1,101.65 ns | 15,972.1 ns | 1.0376 | - | - | 824 B |
| HashMapOkasaki_toArray | 200 | 5,619.3 ns | 111.926 ns | 308.28 ns | 5,662.7 ns | 8.1940 | - | - | 6448 B |
| ImTools_toArray | 200 | 10,860.4 ns | 246.136 ns | 721.88 ns | 10,787.4 ns | 13.7787 | - | - | 10848 B |
| FSharpMap_toArray | 200 | 7,035.2 ns | 150.366 ns | 441.00 ns | 7,070.9 ns | 16.3040 | - | - | 12824 B |
| ImmutableDictionary_toArray | 200 | 32,896.0 ns | 900.198 ns | 2,654.25 ns | 32,656.1 ns | 2.0142 | - | - | 1624 B |
| HashMapOkasaki_toArray | 300 | 8,755.5 ns | 213.521 ns | 629.57 ns | 8,791.7 ns | 12.2528 | - | - | 9648 B |
| ImTools_toArray | 300 | 16,359.0 ns | 410.507 ns | 1,203.95 ns | 16,191.4 ns | 23.0713 | - | - | 18176 B |
| FSharpMap_toArray | 300 | 10,698.8 ns | 257.867 ns | 760.33 ns | 10,708.5 ns | 24.3835 | - | - | 19224 B |
| ImmutableDictionary_toArray | 300 | 50,403.6 ns | 1,033.029 ns | 3,045.91 ns | 50,223.2 ns | 3.0518 | - | - | 2424 B |
| HashMapOkasaki_toArray | 400 | 11,454.3 ns | 231.093 ns | 681.38 ns | 11,490.0 ns | 16.3116 | - | - | 12848 B |
| ImTools_toArray | 400 | 21,614.7 ns | 431.566 ns | 1,238.24 ns | 21,699.3 ns | 27.0691 | - | - | 21376 B |
| FSharpMap_toArray | 400 | 14,790.0 ns | 295.096 ns | 812.78 ns | 14,792.6 ns | 32.5623 | - | - | 25624 B |
| ImmutableDictionary_toArray | 400 | 65,188.0 ns | 1,546.954 ns | 4,438.50 ns | 65,252.5 ns | 4.0283 | - | - | 3224 B |
| HashMapOkasaki_toArray | 500 | 15,663.0 ns | 450.639 ns | 1,328.72 ns | 15,471.9 ns | 20.3857 | - | - | 16048 B |
| ImTools_toArray | 500 | 28,018.5 ns | 558.080 ns | 1,489.63 ns | 27,988.0 ns | 31.2195 | - | - | 24576 B |
| FSharpMap_toArray | 500 | 19,662.5 ns | 436.300 ns | 1,272.71 ns | 19,604.1 ns | 40.6799 | - | - | 32024 B |
| ImmutableDictionary_toArray | 500 | 79,797.2 ns | 1,805.947 ns | 5,268.03 ns | 79,377.6 ns | 5.0049 | - | - | 4024 B |
| HashMapOkasaki_toArray | 1000 | 33,717.9 ns | 762.241 ns | 2,247.48 ns | 33,668.9 ns | 30.6396 | 5.0049 | - | 32048 B |
| ImTools_toArray | 1000 | 57,245.3 ns | 1,365.017 ns | 4,024.78 ns | 57,176.9 ns | 46.1426 | 7.2021 | - | 48800 B |
| FSharpMap_toArray | 1000 | 49,441.3 ns | 979.387 ns | 2,580.10 ns | 49,731.8 ns | 57.3120 | 8.2397 | - | 64024 B |
| ImmutableDictionary_toArray | 1000 | 161,577.5 ns | 3,778.406 ns | 11,140.72 ns | 162,114.5 ns | 10.0098 | - | - | 8024 B |
| HashMapOkasaki_toArray | 2000 | 80,893.8 ns | 1,246.524 ns | 1,166.00 ns | 80,569.8 ns | 31.0059 | 7.8125 | - | 64048 B |
| ImTools_toArray | 2000 | 137,701.4 ns | 2,710.708 ns | 5,892.86 ns | 138,920.9 ns | 47.3633 | 11.7188 | - | 97216 B |
| FSharpMap_toArray | 2000 | 107,521.7 ns | 2,854.432 ns | 8,281.22 ns | 110,758.2 ns | 62.9883 | 16.2354 | - | 128024 B |
| ImmutableDictionary_toArray | 2000 | 319,521.4 ns | 7,085.448 ns | 20,891.60 ns | 316,260.3 ns | 19.5313 | - | - | 16024 B |
| HashMapOkasaki_toArray | 3000 | 119,443.5 ns | 3,303.247 ns | 9,739.70 ns | 123,830.3 ns | 31.7383 | 10.4980 | - | 96048 B |
| ImTools_toArray | 3000 | 230,261.9 ns | 2,659.876 ns | 2,488.05 ns | 230,431.9 ns | 51.0254 | 16.8457 | - | 162016 B |
| FSharpMap_toArray | 3000 | 165,534.2 ns | 3,304.790 ns | 8,878.10 ns | 168,507.0 ns | 66.1621 | 19.7754 | - | 192024 B |
| ImmutableDictionary_toArray | 3000 | 483,065.4 ns | 9,678.048 ns | 23,740.42 ns | 479,925.5 ns | 30.2734 | - | - | 24024 B |
| HashMapOkasaki_toArray | 4000 | 169,112.9 ns | 3,362.141 ns | 9,032.17 ns | 172,568.7 ns | 31.0059 | 11.7188 | - | 128048 B |
| ImTools_toArray | 4000 | 292,570.2 ns | 8,144.634 ns | 23,886.80 ns | 303,282.2 ns | 49.3164 | 18.0664 | - | 194016 B |
| FSharpMap_toArray | 4000 | 225,569.1 ns | 4,458.323 ns | 10,936.34 ns | 229,376.0 ns | 65.6738 | 23.6816 | - | 256024 B |
| ImmutableDictionary_toArray | 4000 | 648,533.9 ns | 16,642.399 ns | 49,070.49 ns | 650,388.3 ns | 39.0625 | - | - | 32024 B |
| HashMapOkasaki_toArray | 5000 | 209,878.6 ns | 4,390.079 ns | 12,875.34 ns | 214,870.7 ns | 33.6914 | 14.4043 | - | 160048 B |
| ImTools_toArray | 5000 | 385,951.6 ns | 10,765.735 ns | 31,743.01 ns | 402,854.9 ns | 61.0352 | 30.2734 | - | 291584 B |
| FSharpMap_toArray | 5000 | 275,193.0 ns | 5,905.948 ns | 17,321.12 ns | 279,492.3 ns | 69.8242 | 27.3438 | - | 320024 B |
| ImmutableDictionary_toArray | 5000 | 831,277.2 ns | 16,560.295 ns | 47,780.24 ns | 827,470.8 ns | 49.8047 | - | - | 40024 B |
| HashMapOkasaki_toArray | 10000 | 344,647.7 ns | 7,819.611 ns | 23,056.30 ns | 343,504.2 ns | 51.2695 | 25.3906 | - | 320048 B |
| ImTools_toArray | 10000 | 1,308,279.8 ns | 25,981.574 ns | 50,057.67 ns | 1,325,322.9 ns | 105.4688 | 70.3125 | 33.2031 | 582712 B |
| FSharpMap_toArray | 10000 | 524,369.2 ns | 10,465.626 ns | 29,689.24 ns | 528,508.4 ns | 106.4453 | 52.7344 | - | 640024 B |
| ImmutableDictionary_toArray | 10000 | 1,663,181.3 ns | 32,733.663 ns | 75,865.24 ns | 1,655,300.5 ns | 56.6406 | 9.7656 | - | 80024 B |
| HashMapOkasaki_toArray | 20000 | 1,739,616.4 ns | 34,758.581 ns | 53,080.02 ns | 1,757,050.0 ns | 97.6563 | 62.5000 | 27.3438 | 640048 B |
| ImTools_toArray | 20000 | 2,970,791.1 ns | 58,119.389 ns | 107,728.01 ns | 2,998,962.1 ns | 160.1563 | 125.0000 | 62.5000 | 1164898 B |
| FSharpMap_toArray | 20000 | 3,931,899.9 ns | 76,813.074 ns | 85,377.53 ns | 3,910,911.7 ns | 210.9375 | 89.8438 | 35.1563 | 1280024 B |
| ImmutableDictionary_toArray | 20000 | 3,724,335.2 ns | 73,786.726 ns | 165,034.59 ns | 3,738,852.0 ns | 19.5313 | 19.5313 | 19.5313 | 160024 B |
| HashMapOkasaki_toArray | 30000 | 2,938,071.7 ns | 58,111.809 ns | 69,177.97 ns | 2,948,229.1 ns | 144.5313 | 78.1250 | 31.2500 | 960048 B |
| ImTools_toArray | 30000 | 5,185,129.8 ns | 102,865.698 ns | 230,073.87 ns | 5,207,785.2 ns | 250.0000 | 210.9375 | 109.3750 | 1485029 B |
| FSharpMap_toArray | 30000 | 6,647,836.3 ns | 131,910.357 ns | 266,465.43 ns | 6,687,575.4 ns | 320.3125 | 132.8125 | 46.8750 | 1920024 B |
| ImmutableDictionary_toArray | 30000 | 5,405,304.3 ns | 107,140.188 ns | 274,641.26 ns | 5,369,325.8 ns | 15.6250 | 15.6250 | 15.6250 | 240024 B |
