Comments (47)
CopyTo
Looks like we have our first improvement! 20% for CopyTo methods for Array, Span, ROS, Memory. ROM, List of value types.
dotnet run -c Release -f netcoreapp2.1 -- -f *CopyTo* --runtimes netcoreapp2.1 netcoreapp2.2 --join
Type | Method | Toolchain | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CopyTo<Int32> | Array | 2.1 | 2048 | 222.5 ns | 3.5224 ns | 3.2949 ns | 220.6 ns | 220.1 ns | 228.9 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<Int32> | Array | 2.2 | 2048 | 173.8 ns | 0.2775 ns | 0.2167 ns | 173.7 ns | 173.5 ns | 174.1 ns | 0.78 | 0.01 | - | - | - | - |
CopyTo<String> | Array | 2.1 | 2048 | 492.6 ns | 1.0402 ns | 0.9221 ns | 492.7 ns | 490.6 ns | 494.1 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<String> | Array | 2.2 | 2048 | 500.7 ns | 0.9908 ns | 0.8783 ns | 500.5 ns | 499.5 ns | 502.2 ns | 1.02 | 0.00 | - | - | - | - |
CopyTo<Int32> | Span | 2.1 | 2048 | 221.0 ns | 0.6380 ns | 0.5655 ns | 220.7 ns | 220.6 ns | 222.3 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<Int32> | Span | 2.2 | 2048 | 177.0 ns | 0.1506 ns | 0.1258 ns | 177.0 ns | 176.8 ns | 177.3 ns | 0.80 | 0.00 | - | - | - | - |
CopyTo<String> | Span | 2.1 | 2048 | 592.6 ns | 4.9537 ns | 4.3914 ns | 591.2 ns | 587.5 ns | 599.9 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<String> | Span | 2.2 | 2048 | 577.1 ns | 3.4741 ns | 3.0797 ns | 576.6 ns | 571.7 ns | 581.7 ns | 0.97 | 0.01 | - | - | - | - |
CopyTo<Int32> | ReadOnlySpan | 2.1 | 2048 | 222.8 ns | 0.3551 ns | 0.3148 ns | 222.8 ns | 222.4 ns | 223.6 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<Int32> | ReadOnlySpan | 2.2 | 2048 | 175.9 ns | 6.1831 ns | 5.7837 ns | 172.9 ns | 172.3 ns | 188.2 ns | 0.79 | 0.03 | - | - | - | - |
CopyTo<String> | ReadOnlySpan | 2.1 | 2048 | 570.3 ns | 4.9975 ns | 4.6747 ns | 571.1 ns | 562.0 ns | 576.2 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<String> | ReadOnlySpan | 2.2 | 2048 | 553.3 ns | 4.6699 ns | 3.8995 ns | 554.4 ns | 547.2 ns | 559.3 ns | 0.97 | 0.01 | - | - | - | - |
CopyTo<Int32> | Memory | 2.1 | 2048 | 234.6 ns | 3.5531 ns | 3.3236 ns | 234.3 ns | 231.2 ns | 240.5 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<Int32> | Memory | 2.2 | 2048 | 189.7 ns | 0.2401 ns | 0.2005 ns | 189.6 ns | 189.4 ns | 190.0 ns | 0.81 | 0.01 | - | - | - | - |
CopyTo<String> | Memory | 2.1 | 2048 | 649.3 ns | 3.1871 ns | 2.8253 ns | 649.2 ns | 642.5 ns | 652.7 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<String> | Memory | 2.2 | 2048 | 630.2 ns | 3.5866 ns | 3.3549 ns | 629.8 ns | 624.7 ns | 636.0 ns | 0.97 | 0.01 | - | - | - | - |
CopyTo<Int32> | ReadOnlyMemory | 2.1 | 2048 | 232.1 ns | 0.2445 ns | 0.2168 ns | 232.1 ns | 231.7 ns | 232.5 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<Int32> | ReadOnlyMemory | 2.2 | 2048 | 189.5 ns | 0.1902 ns | 0.1779 ns | 189.5 ns | 189.2 ns | 189.8 ns | 0.82 | 0.00 | - | - | - | - |
CopyTo<String> | ReadOnlyMemory | 2.1 | 2048 | 625.0 ns | 2.3673 ns | 2.0986 ns | 624.8 ns | 622.5 ns | 629.0 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<String> | ReadOnlyMemory | 2.2 | 2048 | 620.3 ns | 4.6462 ns | 3.8798 ns | 619.4 ns | 615.5 ns | 627.2 ns | 0.99 | 0.01 | - | - | - | - |
CopyTo<Int32> | List | 2.1 | 2048 | 223.5 ns | 0.3034 ns | 0.2533 ns | 223.4 ns | 223.2 ns | 223.9 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<Int32> | List | 2.2 | 2048 | 192.7 ns | 2.0393 ns | 1.8078 ns | 191.9 ns | 191.3 ns | 197.5 ns | 0.86 | 0.01 | - | - | - | - |
CopyTo<String> | List | 2.1 | 2048 | 486.6 ns | 2.1756 ns | 2.0351 ns | 486.0 ns | 483.9 ns | 491.4 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<String> | List | 2.2 | 2048 | 449.6 ns | 3.2257 ns | 2.8595 ns | 448.7 ns | 446.6 ns | 456.8 ns | 0.92 | 0.01 | - | - | - | - |
CopyTo<Int32> | ImmutableArray | 2.1 | 2048 | 313.2 ns | 2.1079 ns | 1.9718 ns | 314.2 ns | 307.8 ns | 314.5 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<Int32> | ImmutableArray | 2.2 | 2048 | 327.8 ns | 0.2032 ns | 0.1901 ns | 327.9 ns | 327.5 ns | 328.1 ns | 1.05 | 0.01 | - | - | - | - |
CopyTo<String> | ImmutableArray | 2.1 | 2048 | 522.1 ns | 3.6749 ns | 3.0687 ns | 522.4 ns | 517.7 ns | 529.6 ns | 1.00 | 0.00 | - | - | - | - |
CopyTo<String> | ImmutableArray | 2.2 | 2048 | 507.6 ns | 11.3972 ns | 12.6679 ns | 503.9 ns | 489.9 ns | 535.5 ns | 0.98 | 0.02 | - | - | - | - |
from performance.
I am closing this issue since the process can be now automated with a tool #165
from performance.
System.Numerics.Tests.Perf_BigInteger
No significant difference. Stable benchmarks
Method | Job | Toolchain | numberString | arguments | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ctor_ByteArray | 2.1 | .NET Core 2.1 | -2147483648 | ? | 22.02 ns | 0.2293 ns | 0.1790 ns | 21.95 ns | 21.81 ns | 22.40 ns | 1.00 | 0.00 | - | - | - | - |
Ctor_ByteArray | 2.2 | 2.2 | -2147483648 | ? | 21.31 ns | 0.1721 ns | 0.1437 ns | 21.24 ns | 21.20 ns | 21.61 ns | 0.97 | 0.01 | - | - | - | - |
ToByteArray | 2.1 | .NET Core 2.1 | -2147483648 | ? | 24.02 ns | 0.5248 ns | 0.4909 ns | 23.74 ns | 23.62 ns | 24.93 ns | 1.00 | 0.00 | 0.0050 | - | - | 32 B |
ToByteArray | 2.2 | 2.2 | -2147483648 | ? | 22.94 ns | 0.5125 ns | 0.5696 ns | 22.60 ns | 22.49 ns | 24.44 ns | 0.96 | 0.02 | 0.0050 | - | - | 32 B |
Parse | 2.1 | .NET Core 2.1 | -2147483648 | ? | 615.82 ns | 11.9008 ns | 12.7337 ns | 625.65 ns | 597.83 ns | 631.21 ns | 1.00 | 0.00 | 0.0201 | - | - | 136 B |
Parse | 2.2 | 2.2 | -2147483648 | ? | 600.11 ns | 14.7337 ns | 16.3765 ns | 600.50 ns | 583.13 ns | 636.44 ns | 0.97 | 0.03 | 0.0196 | - | - | 136 B |
Add | 2.1 | .NET Core 2.1 | ? | 1024,1024 bits | 110.80 ns | 2.1149 ns | 1.9783 ns | 110.15 ns | 109.05 ns | 116.31 ns | 1.00 | 0.00 | 0.0506 | - | - | 320 B |
Add | 2.2 | 2.2 | ? | 1024,1024 bits | 107.43 ns | 2.5473 ns | 2.8313 ns | 105.79 ns | 105.19 ns | 115.54 ns | 0.97 | 0.03 | 0.0504 | - | - | 320 B |
Subtract | 2.1 | .NET Core 2.1 | ? | 1024,1024 bits | 103.58 ns | 2.3837 ns | 2.6495 ns | 105.09 ns | 100.55 ns | 108.04 ns | 1.00 | 0.00 | 0.0482 | - | - | 304 B |
Subtract | 2.2 | 2.2 | ? | 1024,1024 bits | 104.62 ns | 2.7237 ns | 3.0274 ns | 103.39 ns | 101.95 ns | 112.17 ns | 1.01 | 0.03 | 0.0481 | - | - | 304 B |
Multiply | 2.1 | .NET Core 2.1 | ? | 1024,1024 bits | 1,351.25 ns | 37.7870 ns | 37.1119 ns | 1,337.04 ns | 1,332.63 ns | 1,477.50 ns | 1.00 | 0.00 | 0.0838 | - | - | 560 B |
Multiply | 2.2 | 2.2 | ? | 1024,1024 bits | 1,364.66 ns | 30.0748 ns | 32.1797 ns | 1,344.93 ns | 1,334.24 ns | 1,423.05 ns | 1.01 | 0.03 | 0.0841 | - | - | 560 B |
GreatestCommonDivisor | 2.1 | .NET Core 2.1 | ? | 1024,1024 bits | 9,368.01 ns | 182.5096 ns | 187.4239 ns | 9,260.94 ns | 9,180.05 ns | 9,606.13 ns | 1.00 | 0.00 | 0.0383 | - | - | 304 B |
GreatestCommonDivisor | 2.2 | 2.2 | ? | 1024,1024 bits | 9,436.98 ns | 238.2334 ns | 264.7958 ns | 9,552.35 ns | 9,107.63 ns | 10,158.05 ns | 1.01 | 0.03 | 0.0381 | - | - | 304 B |
ModPow | 2.1 | .NET Core 2.1 | ? | 1024,1024,64 bits | 173,337.83 ns | 4,412.3157 ns | 4,904.2772 ns | 171,085.65 ns | 168,621.23 ns | 186,325.48 ns | 1.00 | 0.00 | - | - | - | 304 B |
ModPow | 2.2 | 2.2 | ? | 1024,1024,64 bits | 173,744.34 ns | 2,805.3241 ns | 2,190.2125 ns | 174,314.75 ns | 166,801.87 ns | 174,642.02 ns | 0.99 | 0.03 | - | - | - | 304 B |
Divide | 2.1 | .NET Core 2.1 | ? | 1024,512 bits | 629.49 ns | 4.7966 ns | 3.7449 ns | 628.11 ns | 626.09 ns | 636.69 ns | 1.00 | 0.00 | 0.0527 | - | - | 344 B |
Divide | 2.2 | 2.2 | ? | 1024,512 bits | 644.62 ns | 18.2383 ns | 20.2719 ns | 637.60 ns | 628.13 ns | 703.98 ns | 1.04 | 0.04 | 0.0528 | - | - | 344 B |
Remainder | 2.1 | .NET Core 2.1 | ? | 1024,512 bits | 631.33 ns | 17.9330 ns | 19.9325 ns | 624.30 ns | 615.52 ns | 681.85 ns | 1.00 | 0.00 | 0.0373 | - | - | 240 B |
Remainder | 2.2 | 2.2 | ? | 1024,512 bits | 626.38 ns | 13.3669 ns | 14.8573 ns | 618.83 ns | 614.53 ns | 659.10 ns | 0.99 | 0.02 | 0.0361 | - | - | 240 B |
Ctor_ByteArray | 2.1 | .NET Core 2.1 | 123 | ? | 16.54 ns | 0.2980 ns | 0.2642 ns | 16.38 ns | 16.31 ns | 17.14 ns | 1.00 | 0.00 | - | - | - | - |
Ctor_ByteArray | 2.2 | 2.2 | 123 | ? | 16.82 ns | 0.4735 ns | 0.5067 ns | 16.54 ns | 16.46 ns | 18.37 ns | 1.02 | 0.04 | - | - | - | - |
ToByteArray | 2.1 | .NET Core 2.1 | 123 | ? | 21.31 ns | 0.6315 ns | 0.7273 ns | 20.93 ns | 20.75 ns | 22.96 ns | 1.00 | 0.00 | 0.0050 | - | - | 32 B |
ToByteArray | 2.2 | 2.2 | 123 | ? | 20.45 ns | 0.1683 ns | 0.1314 ns | 20.39 ns | 20.31 ns | 20.68 ns | 0.95 | 0.04 | 0.0050 | - | - | 32 B |
Parse | 2.1 | .NET Core 2.1 | 123 | ? | 283.21 ns | 6.6658 ns | 7.4090 ns | 281.29 ns | 275.12 ns | 305.16 ns | 1.00 | 0.00 | 0.0151 | - | - | 104 B |
Parse | 2.2 | 2.2 | 123 | ? | 288.79 ns | 18.4733 ns | 21.2739 ns | 280.79 ns | 270.83 ns | 331.01 ns | 1.02 | 0.07 | 0.0160 | - | - | 104 B |
Ctor_ByteArray | 2.1 | .NET Core 2.1 | 12345(...)67890 [200] | ? | 121.47 ns | 1.3833 ns | 1.1551 ns | 120.81 ns | 120.54 ns | 123.74 ns | 1.00 | 0.00 | 0.0175 | - | - | 112 B |
Ctor_ByteArray | 2.2 | 2.2 | 12345(...)67890 [200] | ? | 123.42 ns | 2.5863 ns | 2.8747 ns | 121.83 ns | 120.95 ns | 130.08 ns | 1.02 | 0.03 | 0.0175 | - | - | 112 B |
ToByteArray | 2.1 | .NET Core 2.1 | 12345(...)67890 [200] | ? | 91.88 ns | 2.2554 ns | 2.5974 ns | 90.61 ns | 89.69 ns | 99.36 ns | 1.00 | 0.00 | 0.0176 | - | - | 112 B |
ToByteArray | 2.2 | 2.2 | 12345(...)67890 [200] | ? | 92.28 ns | 2.2690 ns | 2.6129 ns | 92.15 ns | 89.47 ns | 98.91 ns | 1.00 | 0.03 | 0.0176 | - | - | 112 B |
Parse | 2.1 | .NET Core 2.1 | 12345(...)67890 [200] | ? | 25,895.47 ns | 966.8310 ns | 1,034.4984 ns | 25,349.09 ns | 25,110.22 ns | 28,168.55 ns | 1.00 | 0.00 | 8.8987 | - | - | 56584 B |
Parse | 2.2 | 2.2 | 12345(...)67890 [200] | ? | 25,623.75 ns | 459.1102 ns | 358.4430 ns | 25,768.44 ns | 24,861.58 ns | 25,849.40 ns | 0.98 | 0.04 | 8.9580 | - | - | 56584 B |
Add | 2.1 | .NET Core 2.1 | ? | 16,16 bits | 23.92 ns | 0.2257 ns | 0.1885 ns | 23.83 ns | 23.75 ns | 24.33 ns | 1.00 | 0.00 | - | - | - | - |
Add | 2.2 | 2.2 | ? | 16,16 bits | 23.48 ns | 0.2030 ns | 0.1695 ns | 23.40 ns | 23.34 ns | 23.85 ns | 0.98 | 0.01 | - | - | - | - |
Subtract | 2.1 | .NET Core 2.1 | ? | 16,16 bits | 24.06 ns | 0.5171 ns | 0.5954 ns | 23.70 ns | 23.48 ns | 25.50 ns | 1.00 | 0.00 | - | - | - | - |
Subtract | 2.2 | 2.2 | ? | 16,16 bits | 25.09 ns | 0.6795 ns | 0.7553 ns | 24.79 ns | 24.41 ns | 27.29 ns | 1.04 | 0.03 | - | - | - | - |
Multiply | 2.1 | .NET Core 2.1 | ? | 16,16 bits | 23.36 ns | 0.4858 ns | 0.4544 ns | 23.11 ns | 23.01 ns | 24.21 ns | 1.00 | 0.00 | - | - | - | - |
Multiply | 2.2 | 2.2 | ? | 16,16 bits | 23.12 ns | 0.4805 ns | 0.4719 ns | 22.87 ns | 22.67 ns | 23.82 ns | 0.99 | 0.01 | - | - | - | - |
GreatestCommonDivisor | 2.1 | .NET Core 2.1 | ? | 16,16 bits | 92.13 ns | 1.9102 ns | 2.0439 ns | 93.73 ns | 89.44 ns | 94.69 ns | 1.00 | 0.00 | - | - | - | - |
GreatestCommonDivisor | 2.2 | 2.2 | ? | 16,16 bits | 92.16 ns | 1.8339 ns | 1.8833 ns | 93.25 ns | 89.54 ns | 94.63 ns | 1.00 | 0.02 | - | - | - | - |
ModPow | 2.1 | .NET Core 2.1 | ? | 16,16,16 bits | 172.30 ns | 1.3423 ns | 1.1900 ns | 171.61 ns | 171.22 ns | 174.26 ns | 1.00 | 0.00 | - | - | - | - |
ModPow | 2.2 | 2.2 | ? | 16,16,16 bits | 174.73 ns | 4.3281 ns | 4.8106 ns | 172.81 ns | 170.13 ns | 188.01 ns | 1.02 | 0.03 | - | - | - | - |
Divide | 2.1 | .NET Core 2.1 | ? | 16,8 bits | 22.34 ns | 0.5240 ns | 0.5607 ns | 22.10 ns | 21.87 ns | 23.79 ns | 1.00 | 0.00 | - | - | - | - |
Divide | 2.2 | 2.2 | ? | 16,8 bits | 21.92 ns | 0.6575 ns | 0.7035 ns | 21.55 ns | 21.46 ns | 23.89 ns | 0.98 | 0.02 | - | - | - | - |
Remainder | 2.1 | .NET Core 2.1 | ? | 16,8 bits | 22.00 ns | 0.4532 ns | 0.4654 ns | 21.71 ns | 21.63 ns | 22.75 ns | 1.00 | 0.00 | - | - | - | - |
Remainder | 2.2 | 2.2 | ? | 16,8 bits | 21.94 ns | 0.4624 ns | 0.4748 ns | 21.63 ns | 21.53 ns | 22.64 ns | 1.00 | 0.01 | - | - | - | - |
ModPow | 2.1 | .NET Core 2.1 | ? | 16384,16384,64 bits | 2,924,625.52 ns | 47,800.5573 ns | 37,319.5309 ns | 2,935,057.55 ns | 2,806,204.05 ns | 2,937,812.06 ns | 1.00 | 0.00 | - | - | - | 2224 B |
ModPow | 2.2 | 2.2 | ? | 16384,16384,64 bits | 2,846,494.84 ns | 82,545.8146 ns | 95,059.8829 ns | 2,807,734.55 ns | 2,767,613.63 ns | 3,073,262.59 ns | 0.99 | 0.03 | - | - | - | 2224 B |
Divide | 2.1 | .NET Core 2.1 | ? | 65536,32768 bits | 4,592,464.07 ns | 118,309.5899 ns | 131,500.7957 ns | 4,660,335.86 ns | 4,454,196.99 ns | 4,950,152.65 ns | 1.00 | 0.00 | - | - | - | 16472 B |
Divide | 2.2 | 2.2 | ? | 65536,32768 bits | 4,580,902.02 ns | 111,246.8568 ns | 123,650.5866 ns | 4,520,530.15 ns | 4,451,200.95 ns | 4,855,700.70 ns | 1.00 | 0.03 | - | - | - | 16472 B |
Remainder | 2.1 | .NET Core 2.1 | ? | 65536,32768 bits | 4,565,271.82 ns | 102,272.9276 ns | 117,777.6555 ns | 4,521,226.65 ns | 4,453,124.73 ns | 4,842,162.06 ns | 1.00 | 0.00 | - | - | - | 12336 B |
Remainder | 2.2 | 2.2 | ? | 65536,32768 bits | 4,598,589.08 ns | 100,224.6952 ns | 115,418.9081 ns | 4,661,895.02 ns | 4,456,237.26 ns | 4,885,313.84 ns | 1.01 | 0.03 | - | - | - | 12336 B |
Add | 2.1 | .NET Core 2.1 | ? | 65536,65536 bits | 2,732.23 ns | 13.4616 ns | 11.2410 ns | 2,730.75 ns | 2,723.08 ns | 2,765.87 ns | 1.00 | 0.00 | 2.6023 | 0.1014 | - | 16448 B |
Add | 2.2 | 2.2 | ? | 65536,65536 bits | 2,767.86 ns | 74.7230 ns | 76.7350 ns | 2,734.99 ns | 2,713.61 ns | 3,001.37 ns | 1.02 | 0.03 | 2.6093 | 0.1012 | - | 16448 B |
Subtract | 2.1 | .NET Core 2.1 | ? | 65536,65536 bits | 2,810.13 ns | 28.0893 ns | 24.9004 ns | 2,795.97 ns | 2,792.07 ns | 2,868.02 ns | 1.00 | 0.00 | 2.6027 | 0.1272 | - | 16432 B |
Subtract | 2.2 | 2.2 | ? | 65536,65536 bits | 2,820.28 ns | 55.9718 ns | 49.6175 ns | 2,801.78 ns | 2,773.69 ns | 2,893.45 ns | 1.00 | 0.02 | 2.6027 | 0.1272 | - | 16432 B |
Multiply | 2.1 | .NET Core 2.1 | ? | 65536,65536 bits | 1,158,921.39 ns | 42,893.0131 ns | 47,675.4704 ns | 1,153,986.25 ns | 1,104,590.67 ns | 1,278,231.14 ns | 1.00 | 0.00 | 24.0385 | - | - | 169928 B |
Multiply | 2.2 | 2.2 | ? | 65536,65536 bits | 1,191,873.38 ns | 77,074.0708 ns | 88,758.6145 ns | 1,145,742.92 ns | 1,098,165.56 ns | 1,345,110.57 ns | 1.03 | 0.08 | 24.0385 | - | - | 169928 B |
GreatestCommonDivisor | 2.1 | .NET Core 2.1 | ? | 65536,65536 bits | 5,903,592.69 ns | 117,697.5805 ns | 120,866.7497 ns | 5,902,268.85 ns | 5,704,323.74 ns | 6,075,403.99 ns | 1.00 | 0.00 | - | - | - | 16432 B |
GreatestCommonDivisor | 2.2 | 2.2 | ? | 65536,65536 bits | 5,998,824.80 ns | 118,251.5140 ns | 121,435.5987 ns | 6,016,905.47 ns | 5,699,335.62 ns | 6,157,669.47 ns | 1.02 | 0.02 | - | - | - | 16432 B |
from performance.
System.Numerics.Tests.Perf_Vector2
No significant difference. I have used disassembler to check the SquareRootBenchmark
and the assembly code is identical, so the difference in results below can be ignored.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AddOperatorBenchmark | 2.1 | .NET Core 2.1 | 1.2438 ns | 0.0058 ns | 0.0045 ns | 1.2425 ns | 1.2376 ns | 1.2523 ns | 1.00 | 0.00 | - | - | - | - |
AddOperatorBenchmark | 2.2 | 2.2 | 1.2882 ns | 0.0176 ns | 0.0165 ns | 1.2816 ns | 1.2722 ns | 1.3180 ns | 1.04 | 0.01 | - | - | - | - |
AddFunctionBenchmark | 2.1 | .NET Core 2.1 | 1.5011 ns | 0.0218 ns | 0.0204 ns | 1.4915 ns | 1.4807 ns | 1.5399 ns | 1.00 | 0.00 | - | - | - | - |
AddFunctionBenchmark | 2.2 | 2.2 | 1.4444 ns | 0.0212 ns | 0.0198 ns | 1.4352 ns | 1.4273 ns | 1.4909 ns | 0.96 | 0.02 | - | - | - | - |
SubtractOperatorBenchmark | 2.1 | .NET Core 2.1 | 1.2637 ns | 0.0317 ns | 0.0296 ns | 1.2411 ns | 1.2351 ns | 1.3174 ns | 1.00 | 0.00 | - | - | - | - |
SubtractOperatorBenchmark | 2.2 | 2.2 | 1.2033 ns | 0.0227 ns | 0.0212 ns | 1.1907 ns | 1.1852 ns | 1.2405 ns | 0.95 | 0.03 | - | - | - | - |
SubtractFunctionBenchmark | 2.1 | .NET Core 2.1 | 1.5547 ns | 0.0205 ns | 0.0191 ns | 1.5469 ns | 1.5346 ns | 1.5957 ns | 1.00 | 0.00 | - | - | - | - |
SubtractFunctionBenchmark | 2.2 | 2.2 | 1.4632 ns | 0.0090 ns | 0.0075 ns | 1.4617 ns | 1.4542 ns | 1.4813 ns | 0.94 | 0.01 | - | - | - | - |
MultiplyOperatorBenchmark | 2.1 | .NET Core 2.1 | 1.2966 ns | 0.0209 ns | 0.0196 ns | 1.2859 ns | 1.2786 ns | 1.3309 ns | 1.00 | 0.00 | - | - | - | - |
MultiplyOperatorBenchmark | 2.2 | 2.2 | 1.2196 ns | 0.0121 ns | 0.0101 ns | 1.2169 ns | 1.2118 ns | 1.2480 ns | 0.94 | 0.01 | - | - | - | - |
MultiplyFunctionBenchmark | 2.1 | .NET Core 2.1 | 1.8055 ns | 0.0072 ns | 0.0056 ns | 1.8066 ns | 1.7970 ns | 1.8137 ns | 1.00 | 0.00 | - | - | - | - |
MultiplyFunctionBenchmark | 2.2 | 2.2 | 1.7699 ns | 0.0289 ns | 0.0271 ns | 1.7551 ns | 1.7476 ns | 1.8261 ns | 0.98 | 0.02 | - | - | - | - |
DistanceSquaredBenchmark | 2.1 | .NET Core 2.1 | 2.3559 ns | 0.0019 ns | 0.0017 ns | 2.3563 ns | 2.3518 ns | 2.3583 ns | 1.00 | 0.00 | - | - | - | - |
DistanceSquaredBenchmark | 2.2 | 2.2 | 2.2713 ns | 0.0021 ns | 0.0018 ns | 2.2706 ns | 2.2690 ns | 2.2745 ns | 0.96 | 0.00 | - | - | - | - |
LengthSquaredBenchmark | 2.1 | .NET Core 2.1 | 1.7065 ns | 0.0007 ns | 0.0006 ns | 1.7066 ns | 1.7057 ns | 1.7077 ns | 1.00 | 0.00 | - | - | - | - |
LengthSquaredBenchmark | 2.2 | 2.2 | 1.8270 ns | 0.0048 ns | 0.0045 ns | 1.8274 ns | 1.8162 ns | 1.8331 ns | 1.07 | 0.00 | - | - | - | - |
GetHashCodeBenchmark | 2.1 | .NET Core 2.1 | 2.2467 ns | 0.0067 ns | 0.0060 ns | 2.2466 ns | 2.2388 ns | 2.2574 ns | 1.00 | 0.00 | - | - | - | - |
GetHashCodeBenchmark | 2.2 | 2.2 | 2.3847 ns | 0.0234 ns | 0.0207 ns | 2.3745 ns | 2.3613 ns | 2.4207 ns | 1.06 | 0.01 | - | - | - | - |
DistanceBenchmark | 2.1 | .NET Core 2.1 | 2.8432 ns | 0.0032 ns | 0.0025 ns | 2.8427 ns | 2.8379 ns | 2.8476 ns | 1.00 | 0.00 | - | - | - | - |
DistanceBenchmark | 2.2 | 2.2 | 2.5799 ns | 0.0081 ns | 0.0072 ns | 2.5805 ns | 2.5689 ns | 2.5897 ns | 0.91 | 0.00 | - | - | - | - |
DotBenchmark | 2.1 | .NET Core 2.1 | 1.7159 ns | 0.0021 ns | 0.0019 ns | 1.7152 ns | 1.7135 ns | 1.7197 ns | 1.00 | 0.00 | - | - | - | - |
DotBenchmark | 2.2 | 2.2 | 1.7194 ns | 0.0019 ns | 0.0015 ns | 1.7199 ns | 1.7171 ns | 1.7214 ns | 1.00 | 0.00 | - | - | - | - |
LengthBenchmark | 2.1 | .NET Core 2.1 | 2.0405 ns | 0.0053 ns | 0.0047 ns | 2.0416 ns | 2.0332 ns | 2.0486 ns | 1.00 | 0.00 | - | - | - | - |
LengthBenchmark | 2.2 | 2.2 | 2.2362 ns | 0.0025 ns | 0.0021 ns | 2.2353 ns | 2.2331 ns | 2.2394 ns | 1.10 | 0.00 | - | - | - | - |
SquareRootBenchmark | 2.1 | .NET Core 2.1 | 0.9623 ns | 0.0177 ns | 0.0157 ns | 0.9599 ns | 0.9451 ns | 0.9958 ns | 1.00 | 0.00 | - | - | - | - |
SquareRootBenchmark | 2.2 | 2.2 | 1.1983 ns | 0.0181 ns | 0.0169 ns | 1.1893 ns | 1.1825 ns | 1.2309 ns | 1.25 | 0.01 | - | - | - | - |
NormalizeBenchmark | 2.1 | .NET Core 2.1 | 4.1058 ns | 0.0065 ns | 0.0055 ns | 4.1026 ns | 4.1014 ns | 4.1186 ns | 1.00 | 0.00 | - | - | - | - |
NormalizeBenchmark | 2.2 | 2.2 | 4.0685 ns | 0.0100 ns | 0.0084 ns | 4.0658 ns | 4.0602 ns | 4.0862 ns | 0.99 | 0.00 | - | - | - | - |
from performance.
System.Numerics.Tests.Perf_Vector3
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AddOperatorBenchmark | 2.1 | .NET Core 2.1 | 1.955 ns | 0.0243 ns | 0.0228 ns | 1.946 ns | 1.933 ns | 1.996 ns | 1.00 | 0.00 | - | - | - | - |
AddOperatorBenchmark | 2.2 | 2.2 | 2.101 ns | 0.0069 ns | 0.0054 ns | 2.100 ns | 2.093 ns | 2.111 ns | 1.07 | 0.01 | - | - | - | - |
AddFunctionBenchmark | 2.1 | .NET Core 2.1 | 2.080 ns | 0.0137 ns | 0.0115 ns | 2.075 ns | 2.071 ns | 2.111 ns | 1.00 | 0.00 | - | - | - | - |
AddFunctionBenchmark | 2.2 | 2.2 | 2.223 ns | 0.0270 ns | 0.0252 ns | 2.212 ns | 2.201 ns | 2.270 ns | 1.07 | 0.02 | - | - | - | - |
MultiplyOperatorBenchmark | 2.1 | .NET Core 2.1 | 2.053 ns | 0.0294 ns | 0.0275 ns | 2.041 ns | 2.027 ns | 2.108 ns | 1.00 | 0.00 | - | - | - | - |
MultiplyOperatorBenchmark | 2.2 | 2.2 | 2.087 ns | 0.0280 ns | 0.0262 ns | 2.073 ns | 2.061 ns | 2.137 ns | 1.02 | 0.02 | - | - | - | - |
MultiplyFunctionBenchmark | 2.1 | .NET Core 2.1 | 2.052 ns | 0.0205 ns | 0.0192 ns | 2.043 ns | 2.036 ns | 2.089 ns | 1.00 | 0.00 | - | - | - | - |
MultiplyFunctionBenchmark | 2.2 | 2.2 | 2.173 ns | 0.0298 ns | 0.0278 ns | 2.158 ns | 2.150 ns | 2.235 ns | 1.06 | 0.00 | - | - | - | - |
SubtractOperatorBenchmark | 2.1 | .NET Core 2.1 | 2.355 ns | 0.0398 ns | 0.0353 ns | 2.338 ns | 2.322 ns | 2.419 ns | 1.00 | 0.00 | - | - | - | - |
SubtractOperatorBenchmark | 2.2 | 2.2 | 2.413 ns | 0.0260 ns | 0.0230 ns | 2.402 ns | 2.389 ns | 2.448 ns | 1.03 | 0.02 | - | - | - | - |
SubtractFunctionBenchmark | 2.1 | .NET Core 2.1 | 2.260 ns | 0.0256 ns | 0.0227 ns | 2.250 ns | 2.240 ns | 2.311 ns | 1.00 | 0.00 | - | - | - | - |
SubtractFunctionBenchmark | 2.2 | 2.2 | 2.388 ns | 0.0268 ns | 0.0251 ns | 2.377 ns | 2.367 ns | 2.443 ns | 1.06 | 0.01 | - | - | - | - |
DistanceSquaredBenchmark | 2.1 | .NET Core 2.1 | 2.221 ns | 0.0027 ns | 0.0024 ns | 2.221 ns | 2.219 ns | 2.225 ns | 1.00 | 0.00 | - | - | - | - |
DistanceSquaredBenchmark | 2.2 | 2.2 | 2.297 ns | 0.0022 ns | 0.0021 ns | 2.296 ns | 2.295 ns | 2.301 ns | 1.03 | 0.00 | - | - | - | - |
LengthSquaredBenchmark | 2.1 | .NET Core 2.1 | 1.530 ns | 0.0055 ns | 0.0051 ns | 1.531 ns | 1.520 ns | 1.539 ns | 1.00 | 0.00 | - | - | - | - |
LengthSquaredBenchmark | 2.2 | 2.2 | 1.614 ns | 0.0013 ns | 0.0012 ns | 1.613 ns | 1.612 ns | 1.616 ns | 1.05 | 0.00 | - | - | - | - |
GetHashCodeBenchmark | 2.1 | .NET Core 2.1 | 3.389 ns | 0.0649 ns | 0.0507 ns | 3.385 ns | 3.336 ns | 3.484 ns | 1.00 | 0.00 | - | - | - | - |
GetHashCodeBenchmark | 2.2 | 2.2 | 3.294 ns | 0.0441 ns | 0.0391 ns | 3.273 ns | 3.262 ns | 3.389 ns | 0.97 | 0.02 | - | - | - | - |
SquareRootBenchmark | 2.1 | .NET Core 2.1 | 1.565 ns | 0.0204 ns | 0.0191 ns | 1.556 ns | 1.550 ns | 1.600 ns | 1.00 | 0.00 | - | - | - | - |
SquareRootBenchmark | 2.2 | 2.2 | 1.475 ns | 0.0191 ns | 0.0178 ns | 1.467 ns | 1.457 ns | 1.510 ns | 0.94 | 0.02 | - | - | - | - |
NormalizeBenchmark | 2.1 | .NET Core 2.1 | 3.820 ns | 0.0036 ns | 0.0033 ns | 3.820 ns | 3.816 ns | 3.827 ns | 1.00 | 0.00 | - | - | - | - |
NormalizeBenchmark | 2.2 | 2.2 | 3.894 ns | 0.0033 ns | 0.0030 ns | 3.893 ns | 3.890 ns | 3.900 ns | 1.02 | 0.00 | - | - | - | - |
DotBenchmark | 2.1 | .NET Core 2.1 | 2.190 ns | 0.0008 ns | 0.0007 ns | 2.190 ns | 2.189 ns | 2.191 ns | 1.00 | 0.00 | - | - | - | - |
DotBenchmark | 2.2 | 2.2 | 2.460 ns | 0.0022 ns | 0.0020 ns | 2.459 ns | 2.458 ns | 2.463 ns | 1.12 | 0.00 | - | - | - | - |
DistanceBenchmark | 2.1 | .NET Core 2.1 | 2.231 ns | 0.0056 ns | 0.0047 ns | 2.230 ns | 2.227 ns | 2.243 ns | 1.00 | 0.00 | - | - | - | - |
DistanceBenchmark | 2.2 | 2.2 | 2.322 ns | 0.0028 ns | 0.0025 ns | 2.322 ns | 2.319 ns | 2.327 ns | 1.04 | 0.00 | - | - | - | - |
LengthBenchmark | 2.1 | .NET Core 2.1 | 1.739 ns | 0.0135 ns | 0.0112 ns | 1.736 ns | 1.730 ns | 1.769 ns | 1.00 | 0.00 | - | - | - | - |
LengthBenchmark | 2.2 | 2.2 | 1.898 ns | 0.0107 ns | 0.0094 ns | 1.899 ns | 1.879 ns | 1.916 ns | 1.09 | 0.01 | - | - | - | - |
CrossBenchmark | 2.1 | .NET Core 2.1 | 3.345 ns | 0.0408 ns | 0.0382 ns | 3.328 ns | 3.311 ns | 3.449 ns | 1.00 | 0.00 | - | - | - | - |
CrossBenchmark | 2.2 | 2.2 | 3.547 ns | 0.0506 ns | 0.0474 ns | 3.540 ns | 3.485 ns | 3.634 ns | 1.06 | 0.02 | - | - | - | - |
from performance.
System.Numerics.Tests.Perf_Vector4
No significant difference. I have used disassembler to check the DistanceSquaredJitOptimizeCanaryBenchmark
, which seems to be unstable but no asm change.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AddOperatorBenchmark | 2.1 | .NET Core 2.1 | 1.548 ns | 0.0223 ns | 0.0208 ns | 1.541 ns | 1.529 ns | 1.585 ns | 1.00 | 0.00 | - | - | - | - |
AddOperatorBenchmark | 2.2 | 2.2 | 1.661 ns | 0.0154 ns | 0.0136 ns | 1.656 ns | 1.650 ns | 1.691 ns | 1.08 | 0.01 | - | - | - | - |
AddFunctionBenchmark | 2.1 | .NET Core 2.1 | 1.580 ns | 0.0301 ns | 0.0281 ns | 1.566 ns | 1.553 ns | 1.639 ns | 1.00 | 0.00 | - | - | - | - |
AddFunctionBenchmark | 2.2 | 2.2 | 1.620 ns | 0.0071 ns | 0.0056 ns | 1.619 ns | 1.614 ns | 1.632 ns | 1.03 | 0.01 | - | - | - | - |
SubtractOperatorBenchmark | 2.1 | .NET Core 2.1 | 1.545 ns | 0.0184 ns | 0.0163 ns | 1.539 ns | 1.530 ns | 1.583 ns | 1.00 | 0.00 | - | - | - | - |
SubtractOperatorBenchmark | 2.2 | 2.2 | 1.652 ns | 0.0251 ns | 0.0235 ns | 1.641 ns | 1.634 ns | 1.693 ns | 1.07 | 0.02 | - | - | - | - |
DistanceSquaredBenchmark | 2.1 | .NET Core 2.1 | 1.938 ns | 0.0013 ns | 0.0012 ns | 1.938 ns | 1.935 ns | 1.940 ns | 1.00 | 0.00 | - | - | - | - |
DistanceSquaredBenchmark | 2.2 | 2.2 | 2.020 ns | 0.0030 ns | 0.0028 ns | 2.019 ns | 2.018 ns | 2.027 ns | 1.04 | 0.00 | - | - | - | - |
DistanceSquaredJitOptimizeCanaryBenchmark | 2.1 | .NET Core 2.1 | 1.596 ns | 0.0021 ns | 0.0018 ns | 1.595 ns | 1.592 ns | 1.599 ns | 1.00 | 0.00 | - | - | - | - |
DistanceSquaredJitOptimizeCanaryBenchmark | 2.2 | 2.2 | 1.894 ns | 0.0088 ns | 0.0078 ns | 1.892 ns | 1.883 ns | 1.908 ns | 1.19 | 0.01 | - | - | - | - |
MultiplyOperatorBenchmark | 2.1 | .NET Core 2.1 | 1.610 ns | 0.0215 ns | 0.0201 ns | 1.604 ns | 1.588 ns | 1.651 ns | 1.00 | 0.00 | - | - | - | - |
MultiplyOperatorBenchmark | 2.2 | 2.2 | 1.459 ns | 0.0235 ns | 0.0219 ns | 1.451 ns | 1.440 ns | 1.503 ns | 0.91 | 0.00 | - | - | - | - |
SubtractFunctionBenchmark | 2.1 | .NET Core 2.1 | 1.646 ns | 0.0286 ns | 0.0223 ns | 1.637 ns | 1.630 ns | 1.688 ns | 1.00 | 0.00 | - | - | - | - |
SubtractFunctionBenchmark | 2.2 | 2.2 | 1.425 ns | 0.0224 ns | 0.0210 ns | 1.417 ns | 1.404 ns | 1.465 ns | 0.87 | 0.02 | - | - | - | - |
MultiplyFunctionBenchmark | 2.1 | .NET Core 2.1 | 1.665 ns | 0.0233 ns | 0.0218 ns | 1.655 ns | 1.643 ns | 1.708 ns | 1.00 | 0.00 | - | - | - | - |
MultiplyFunctionBenchmark | 2.2 | 2.2 | 1.388 ns | 0.0155 ns | 0.0138 ns | 1.383 ns | 1.372 ns | 1.419 ns | 0.83 | 0.02 | - | - | - | - |
LengthSquaredBenchmark | 2.1 | .NET Core 2.1 | 1.742 ns | 0.0028 ns | 0.0025 ns | 1.743 ns | 1.739 ns | 1.747 ns | 1.00 | 0.00 | - | - | - | - |
LengthSquaredBenchmark | 2.2 | 2.2 | 1.723 ns | 0.0020 ns | 0.0019 ns | 1.722 ns | 1.721 ns | 1.727 ns | 0.99 | 0.00 | - | - | - | - |
GetHashCodeBenchmark | 2.1 | .NET Core 2.1 | 9.695 ns | 0.2797 ns | 0.2993 ns | 9.535 ns | 9.488 ns | 10.425 ns | 1.00 | 0.00 | - | - | - | - |
GetHashCodeBenchmark | 2.2 | 2.2 | 8.413 ns | 0.1992 ns | 0.1956 ns | 8.316 ns | 8.288 ns | 8.809 ns | 0.87 | 0.01 | - | - | - | - |
SquareRootBenchmark | 2.1 | .NET Core 2.1 | 1.212 ns | 0.0063 ns | 0.0049 ns | 1.212 ns | 1.205 ns | 1.221 ns | 1.00 | 0.00 | - | - | - | - |
SquareRootBenchmark | 2.2 | 2.2 | 1.329 ns | 0.0035 ns | 0.0033 ns | 1.328 ns | 1.323 ns | 1.336 ns | 1.10 | 0.00 | - | - | - | - |
NormalizeBenchmark | 2.1 | .NET Core 2.1 | 2.739 ns | 0.0016 ns | 0.0013 ns | 2.739 ns | 2.736 ns | 2.741 ns | 1.00 | 0.00 | - | - | - | - |
NormalizeBenchmark | 2.2 | 2.2 | 2.915 ns | 0.0020 ns | 0.0019 ns | 2.915 ns | 2.913 ns | 2.919 ns | 1.06 | 0.00 | - | - | - | - |
DistanceBenchmark | 2.1 | .NET Core 2.1 | 1.657 ns | 0.0021 ns | 0.0019 ns | 1.657 ns | 1.654 ns | 1.661 ns | 1.00 | 0.00 | - | - | - | - |
DistanceBenchmark | 2.2 | 2.2 | 1.967 ns | 0.0052 ns | 0.0046 ns | 1.967 ns | 1.960 ns | 1.975 ns | 1.19 | 0.00 | - | - | - | - |
LengthBenchmark | 2.1 | .NET Core 2.1 | 1.683 ns | 0.0061 ns | 0.0054 ns | 1.684 ns | 1.673 ns | 1.691 ns | 1.00 | 0.00 | - | - | - | - |
LengthBenchmark | 2.2 | 2.2 | 1.541 ns | 0.0044 ns | 0.0041 ns | 1.541 ns | 1.530 ns | 1.547 ns | 0.92 | 0.00 | - | - | - | - |
DotBenchmark | 2.1 | .NET Core 2.1 | 1.467 ns | 0.0013 ns | 0.0011 ns | 1.467 ns | 1.465 ns | 1.469 ns | 1.00 | 0.00 | - | - | - | - |
DotBenchmark | 2.2 | 2.2 | 1.588 ns | 0.0072 ns | 0.0068 ns | 1.591 ns | 1.573 ns | 1.597 ns | 1.08 | 0.00 | - | - | - | - |
from performance.
System.Numerics.Tests.Constructor
No significant difference, however the benchmarks could have been more stable. Used asm diff to verify SpanCastBenchmark_UInt32
results.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SpanCastBenchmark_Byte | 2.1 | .NET Core 2.1 | 0.5593 ns | 0.0064 ns | 0.0057 ns | 0.5581 ns | 0.5526 ns | 0.5712 ns | 1.00 | 0.00 | - | - | - | - |
SpanCastBenchmark_Byte | 2.2 | 2.2 | 0.4766 ns | 0.0059 ns | 0.0055 ns | 0.4741 ns | 0.4693 ns | 0.4851 ns | 0.85 | 0.01 | - | - | - | - |
SpanCastBenchmark_SByte | 2.1 | .NET Core 2.1 | 0.4820 ns | 0.0072 ns | 0.0068 ns | 0.4815 ns | 0.4724 ns | 0.4942 ns | 1.00 | 0.00 | - | - | - | - |
SpanCastBenchmark_SByte | 2.2 | 2.2 | 0.4806 ns | 0.0049 ns | 0.0046 ns | 0.4793 ns | 0.4737 ns | 0.4897 ns | 1.00 | 0.02 | - | - | - | - |
SpanCastBenchmark_UInt16 | 2.1 | .NET Core 2.1 | 0.7743 ns | 0.0054 ns | 0.0050 ns | 0.7758 ns | 0.7655 ns | 0.7834 ns | 1.00 | 0.00 | - | - | - | - |
SpanCastBenchmark_UInt16 | 2.2 | 2.2 | 0.5373 ns | 0.0045 ns | 0.0040 ns | 0.5371 ns | 0.5321 ns | 0.5452 ns | 0.69 | 0.01 | - | - | - | - |
SpanCastBenchmark_Int16 | 2.1 | .NET Core 2.1 | 0.7518 ns | 0.0064 ns | 0.0056 ns | 0.7509 ns | 0.7430 ns | 0.7655 ns | 1.00 | 0.00 | - | - | - | - |
SpanCastBenchmark_Int16 | 2.2 | 2.2 | 0.5519 ns | 0.0049 ns | 0.0046 ns | 0.5536 ns | 0.5405 ns | 0.5568 ns | 0.73 | 0.01 | - | - | - | - |
SpanCastBenchmark_UInt32 | 2.1 | .NET Core 2.1 | 4.9417 ns | 0.0037 ns | 0.0029 ns | 4.9422 ns | 4.9372 ns | 4.9452 ns | 1.00 | 0.00 | - | - | - | - |
SpanCastBenchmark_UInt32 | 2.2 | 2.2 | 0.5159 ns | 0.0088 ns | 0.0078 ns | 0.5168 ns | 0.4998 ns | 0.5271 ns | 0.10 | 0.00 | - | - | - | - |
SpanCastBenchmark_Int32 | 2.1 | .NET Core 2.1 | 0.7559 ns | 0.0033 ns | 0.0027 ns | 0.7554 ns | 0.7517 ns | 0.7602 ns | 1.00 | 0.00 | - | - | - | - |
SpanCastBenchmark_Int32 | 2.2 | 2.2 | 0.5453 ns | 0.0033 ns | 0.0031 ns | 0.5452 ns | 0.5410 ns | 0.5505 ns | 0.72 | 0.00 | - | - | - | - |
SpanCastBenchmark_UInt64 | 2.1 | .NET Core 2.1 | 0.7479 ns | 0.0072 ns | 0.0060 ns | 0.7478 ns | 0.7401 ns | 0.7642 ns | 1.00 | 0.00 | - | - | - | - |
SpanCastBenchmark_UInt64 | 2.2 | 2.2 | 0.5541 ns | 0.0061 ns | 0.0057 ns | 0.5544 ns | 0.5411 ns | 0.5610 ns | 0.74 | 0.01 | - | - | - | - |
SpanCastBenchmark_Int64 | 2.1 | .NET Core 2.1 | 0.7920 ns | 0.0054 ns | 0.0048 ns | 0.7919 ns | 0.7834 ns | 0.8003 ns | 1.00 | 0.00 | - | - | - | - |
SpanCastBenchmark_Int64 | 2.2 | 2.2 | 0.5287 ns | 0.0039 ns | 0.0035 ns | 0.5288 ns | 0.5220 ns | 0.5352 ns | 0.67 | 0.00 | - | - | - | - |
SpanCastBenchmark_Single | 2.1 | .NET Core 2.1 | 0.7450 ns | 0.0050 ns | 0.0047 ns | 0.7455 ns | 0.7334 ns | 0.7542 ns | 1.00 | 0.00 | - | - | - | - |
SpanCastBenchmark_Single | 2.2 | 2.2 | 0.5836 ns | 0.0162 ns | 0.0135 ns | 0.5788 ns | 0.5702 ns | 0.6149 ns | 0.78 | 0.02 | - | - | - | - |
SpanCastBenchmark_Double | 2.1 | .NET Core 2.1 | 0.7347 ns | 0.0059 ns | 0.0055 ns | 0.7346 ns | 0.7239 ns | 0.7421 ns | 1.00 | 0.00 | - | - | - | - |
SpanCastBenchmark_Double | 2.2 | 2.2 | 0.5641 ns | 0.0418 ns | 0.0430 ns | 0.5541 ns | 0.5191 ns | 0.6438 ns | 0.77 | 0.06 | - | - | - | - |
ConstructorBenchmark_Byte | 2.1 | .NET Core 2.1 | 3.4300 ns | 0.0068 ns | 0.0053 ns | 3.4286 ns | 3.4212 ns | 3.4381 ns | 1.00 | 0.00 | - | - | - | - |
ConstructorBenchmark_Byte | 2.2 | 2.2 | 3.3412 ns | 0.0320 ns | 0.0299 ns | 3.3239 ns | 3.3121 ns | 3.3983 ns | 0.97 | 0.01 | - | - | - | - |
ConstructorBenchmark_SByte | 2.1 | .NET Core 2.1 | 3.0252 ns | 0.0038 ns | 0.0032 ns | 3.0237 ns | 3.0207 ns | 3.0316 ns | 1.00 | 0.00 | - | - | - | - |
ConstructorBenchmark_SByte | 2.2 | 2.2 | 2.7162 ns | 0.0457 ns | 0.0405 ns | 2.6955 ns | 2.6799 ns | 2.7861 ns | 0.90 | 0.01 | - | - | - | - |
ConstructorBenchmark_UInt16 | 2.1 | .NET Core 2.1 | 3.3567 ns | 0.0101 ns | 0.0084 ns | 3.3541 ns | 3.3485 ns | 3.3766 ns | 1.00 | 0.00 | - | - | - | - |
ConstructorBenchmark_UInt16 | 2.2 | 2.2 | 2.7682 ns | 0.0199 ns | 0.0177 ns | 2.7619 ns | 2.7478 ns | 2.8090 ns | 0.82 | 0.01 | - | - | - | - |
ConstructorBenchmark_Int16 | 2.1 | .NET Core 2.1 | 3.1098 ns | 0.0081 ns | 0.0072 ns | 3.1095 ns | 3.1017 ns | 3.1285 ns | 1.00 | 0.00 | - | - | - | - |
ConstructorBenchmark_Int16 | 2.2 | 2.2 | 3.4473 ns | 0.0296 ns | 0.0262 ns | 3.4385 ns | 3.4149 ns | 3.4927 ns | 1.11 | 0.01 | - | - | - | - |
ConstructorBenchmark_UInt32 | 2.1 | .NET Core 2.1 | 3.5152 ns | 0.0634 ns | 0.0562 ns | 3.4916 ns | 3.4794 ns | 3.6626 ns | 1.00 | 0.00 | - | - | - | - |
ConstructorBenchmark_UInt32 | 2.2 | 2.2 | 2.9650 ns | 0.0389 ns | 0.0364 ns | 2.9442 ns | 2.9349 ns | 3.0466 ns | 0.84 | 0.01 | - | - | - | - |
ConstructorBenchmark_Int32 | 2.1 | .NET Core 2.1 | 3.0272 ns | 0.0076 ns | 0.0071 ns | 3.0258 ns | 3.0202 ns | 3.0423 ns | 1.00 | 0.00 | - | - | - | - |
ConstructorBenchmark_Int32 | 2.2 | 2.2 | 3.0546 ns | 0.0339 ns | 0.0317 ns | 3.0463 ns | 3.0216 ns | 3.1140 ns | 1.01 | 0.01 | - | - | - | - |
ConstructorBenchmark_UInt64 | 2.1 | .NET Core 2.1 | 3.3830 ns | 0.0052 ns | 0.0046 ns | 3.3827 ns | 3.3753 ns | 3.3895 ns | 1.00 | 0.00 | - | - | - | - |
ConstructorBenchmark_UInt64 | 2.2 | 2.2 | 3.0871 ns | 0.0344 ns | 0.0322 ns | 3.0766 ns | 3.0521 ns | 3.1469 ns | 0.91 | 0.01 | - | - | - | - |
ConstructorBenchmark_Int64 | 2.1 | .NET Core 2.1 | 2.7773 ns | 0.0058 ns | 0.0054 ns | 2.7756 ns | 2.7714 ns | 2.7903 ns | 1.00 | 0.00 | - | - | - | - |
ConstructorBenchmark_Int64 | 2.2 | 2.2 | 3.0279 ns | 0.0387 ns | 0.0343 ns | 3.0084 ns | 2.9957 ns | 3.0916 ns | 1.09 | 0.01 | - | - | - | - |
ConstructorBenchmark_Single | 2.1 | .NET Core 2.1 | 2.7707 ns | 0.0053 ns | 0.0049 ns | 2.7692 ns | 2.7649 ns | 2.7817 ns | 1.00 | 0.00 | - | - | - | - |
ConstructorBenchmark_Single | 2.2 | 2.2 | 2.9805 ns | 0.0852 ns | 0.0755 ns | 2.9575 ns | 2.9067 ns | 3.1299 ns | 1.08 | 0.03 | - | - | - | - |
ConstructorBenchmark_Double | 2.1 | .NET Core 2.1 | 3.3967 ns | 0.0039 ns | 0.0034 ns | 3.3963 ns | 3.3912 ns | 3.4043 ns | 1.00 | 0.00 | - | - | - | - |
ConstructorBenchmark_Double | 2.2 | 2.2 | 2.8347 ns | 0.0904 ns | 0.1005 ns | 2.7891 ns | 2.7575 ns | 3.0482 ns | 0.84 | 0.03 | - | - | - | - |
from performance.
System.Perf_Convert
No significant difference,
Method | Job | Toolchain | binaryDataSize | formattingOptions | value | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GetTypeCode | 2.1 | .NET Core 2.1 | ? | ? | ? | 7.047 ns | 0.2195 ns | 0.2527 ns | 6.924 ns | 6.792 ns | 7.722 ns | 1.00 | 0.00 | - | - | - | - |
GetTypeCode | 2.2 | 2.2 | ? | ? | ? | 7.080 ns | 0.1769 ns | 0.1738 ns | 7.016 ns | 6.905 ns | 7.545 ns | 1.00 | 0.04 | - | - | - | - |
ChangeType | 2.1 | .NET Core 2.1 | ? | ? | ? | 53.153 ns | 1.0030 ns | 0.8376 ns | 53.140 ns | 52.170 ns | 55.393 ns | 1.00 | 0.00 | 0.0063 | - | - | 40 B |
ChangeType | 2.2 | 2.2 | ? | ? | ? | 44.952 ns | 1.0660 ns | 0.9971 ns | 44.523 ns | 44.191 ns | 47.420 ns | 0.85 | 0.01 | 0.0063 | - | - | 40 B |
ToBase64CharArray | 2.1 | .NET Core 2.1 | 1024 | InsertLineBreaks | ? | 1,342.502 ns | 35.1336 ns | 40.4600 ns | 1,323.289 ns | 1,309.019 ns | 1,435.431 ns | 1.00 | 0.00 | - | - | - | - |
ToBase64CharArray | 2.2 | 2.2 | 1024 | InsertLineBreaks | ? | 1,334.098 ns | 30.2901 ns | 33.6674 ns | 1,317.601 ns | 1,305.111 ns | 1,421.882 ns | 0.99 | 0.03 | - | - | - | - |
ToBase64CharArray | 2.1 | .NET Core 2.1 | 1024 | None | ? | 1,089.512 ns | 24.4473 ns | 26.1583 ns | 1,076.320 ns | 1,071.432 ns | 1,158.265 ns | 1.00 | 0.00 | - | - | - | - |
ToBase64CharArray | 2.2 | 2.2 | 1024 | None | ? | 1,087.882 ns | 25.3396 ns | 29.1811 ns | 1,069.061 ns | 1,065.568 ns | 1,151.949 ns | 1.00 | 0.03 | - | - | - | - |
ToDateTime_String | 2.1 | .NET Core 2.1 | ? | ? | 12/12/1999 | 301.023 ns | 7.1946 ns | 7.6981 ns | 302.460 ns | 292.163 ns | 322.312 ns | 1.00 | 0.00 | - | - | - | - |
ToDateTime_String | 2.2 | 2.2 | ? | ? | 12/12/1999 | 279.011 ns | 8.1334 ns | 8.7026 ns | 277.423 ns | 270.624 ns | 299.324 ns | 0.93 | 0.02 | - | - | - | - |
ToDateTime_String | 2.1 | .NET Core 2.1 | ? | ? | 12/12(...)59 PM [22] | 586.440 ns | 23.9116 ns | 27.5366 ns | 579.371 ns | 553.532 ns | 648.598 ns | 1.00 | 0.00 | - | - | - | - |
ToDateTime_String | 2.2 | 2.2 | ? | ? | 12/12(...)59 PM [22] | 541.930 ns | 14.6969 ns | 15.0926 ns | 540.726 ns | 521.271 ns | 582.114 ns | 0.92 | 0.04 | - | - | - | - |
ToDateTime_String | 2.1 | .NET Core 2.1 | ? | ? | February 26, 2009 | 564.051 ns | 5.8720 ns | 5.4927 ns | 565.677 ns | 551.994 ns | 571.219 ns | 1.00 | 0.00 | - | - | - | - |
ToDateTime_String | 2.2 | 2.2 | ? | ? | February 26, 2009 | 543.059 ns | 11.5495 ns | 12.3579 ns | 538.518 ns | 522.970 ns | 570.327 ns | 0.96 | 0.02 | - | - | - | - |
ToDateTime_String | 2.1 | .NET Core 2.1 | ? | ? | Fri, (...)1 GMT [29] | 2,440.601 ns | 78.7827 ns | 77.3751 ns | 2,410.354 ns | 2,371.682 ns | 2,623.339 ns | 1.00 | 0.00 | - | - | - | - |
ToDateTime_String | 2.2 | 2.2 | ? | ? | Fri, (...)1 GMT [29] | 2,342.193 ns | 38.2354 ns | 37.5523 ns | 2,349.190 ns | 2,283.602 ns | 2,402.667 ns | 0.96 | 0.03 | - | - | - | - |
ToBase64String | 2.1 | .NET Core 2.1 | ? | InsertLineBreaks | ? | 1,498.361 ns | 26.1030 ns | 23.1396 ns | 1,503.166 ns | 1,457.291 ns | 1,542.932 ns | 1.00 | 0.00 | 0.4469 | - | - | 2832 B |
ToBase64String | 2.2 | 2.2 | ? | InsertLineBreaks | ? | 1,495.132 ns | 13.4735 ns | 10.5193 ns | 1,500.318 ns | 1,468.928 ns | 1,504.640 ns | 1.00 | 0.01 | 0.4471 | - | - | 2832 B |
ToBase64String | 2.1 | .NET Core 2.1 | ? | None | ? | 1,258.903 ns | 33.6753 ns | 37.4300 ns | 1,244.361 ns | 1,217.207 ns | 1,338.403 ns | 1.00 | 0.00 | 0.4384 | - | - | 2768 B |
ToBase64String | 2.2 | 2.2 | ? | None | ? | 1,246.868 ns | 24.3843 ns | 20.3620 ns | 1,246.447 ns | 1,224.474 ns | 1,302.420 ns | 0.98 | 0.03 | 0.4385 | - | - | 2768 B |
ToDateTime_String | 2.1 | .NET Core 2.1 | ? | ? | Thurs(...) 2009 [27] | 915.056 ns | 26.9684 ns | 28.8559 ns | 905.449 ns | 876.180 ns | 978.708 ns | 1.00 | 0.00 | - | - | - | - |
ToDateTime_String | 2.2 | 2.2 | ? | ? | Thurs(...) 2009 [27] | 881.909 ns | 11.8532 ns | 9.8979 ns | 885.902 ns | 857.353 ns | 895.153 ns | 0.96 | 0.03 | - | - | - | - |
from performance.
BenchmarksGame
No significant difference. You might see the difference in BinaryTrees_5
and SpectralNorm_3
but these benchmarks are multi-modal as reported in #39 #41 and they don't produce always the same results (they spawn a lot of tasks).
Type | Method | Job | Toolchain | MaxIterationCount | n | expectedSum | expected | size | lineLength | checksum | width | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BinaryTrees_5 | BinaryTrees_5 | Default | .NET Core 2.1 | 40 | ? | ? | ? | ? | ? | ? | ? | 269,621.7 us | 35,793.6841 us | 63,623.2371 us | 288,153.4 us | 124,201.4 us | 354,081.9 us | 1.00 | 0.00 | 37000.0000 | 10000.0000 | 3000.0000 | 1736 B |
BinaryTrees_5 | BinaryTrees_5 | Default | 2.2 | 40 | ? | ? | ? | ? | ? | ? | ? | 296,276.9 us | 14,448.1983 us | 25,681.6577 us | 304,628.6 us | 241,264.4 us | 339,032.2 us | 1.22 | 0.52 | 37000.0000 | 11000.0000 | 2000.0000 | 1736 B |
SpectralNorm_3 | SpectralNorm_3 | Default | .NET Core 2.1 | 40 | ? | ? | ? | ? | ? | ? | ? | 259.7 us | 5.1134 us | 5.2510 us | 259.1 us | 251.4 us | 271.5 us | 1.00 | 0.00 | - | - | - | 5264 B |
SpectralNorm_3 | SpectralNorm_3 | Default | 2.2 | 40 | ? | ? | ? | ? | ? | ? | ? | 343.0 us | 9.5499 us | 16.9749 us | 341.3 us | 305.5 us | 385.5 us | 1.31 | 0.07 | - | - | - | 5315 B |
BinaryTrees_2 | BinaryTrees_2 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | ? | ? | ? | ? | 102,007.0 us | 1,957.4835 us | 1,831.0313 us | 103,298.2 us | 99,489.6 us | 103,824.6 us | 1.00 | 0.00 | 37500.0000 | 1000.0000 | 500.0000 | 238376384 B |
BinaryTrees_2 | BinaryTrees_2 | 2.2 | 2.2 | 20 | ? | ? | ? | ? | ? | ? | ? | 105,126.6 us | 2,188.4029 us | 2,341.5666 us | 103,508.1 us | 102,649.0 us | 108,214.5 us | 1.03 | 0.01 | 37500.0000 | 1000.0000 | 500.0000 | 238376384 B |
Fasta_1 | Fasta_1 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | ? | ? | ? | ? | 261.6 us | 0.4988 us | 0.4666 us | 261.6 us | 260.9 us | 262.6 us | 1.00 | 0.00 | 66.7362 | 17.7268 | - | 51924 B |
Fasta_1 | Fasta_1 | 2.2 | 2.2 | 20 | ? | ? | ? | ? | ? | ? | ? | 253.4 us | 0.5401 us | 0.4788 us | 253.2 us | 252.9 us | 254.3 us | 0.97 | 0.00 | 66.8693 | 17.2239 | - | 51853 B |
Fasta_2 | Fasta_2 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | ? | ? | ? | ? | 412.2 us | 12.1897 us | 14.0377 us | 403.9 us | 402.7 us | 448.6 us | 1.00 | 0.00 | - | - | - | 904 B |
Fasta_2 | Fasta_2 | 2.2 | 2.2 | 20 | ? | ? | ? | ? | ? | ? | ? | 418.1 us | 7.2713 us | 5.6769 us | 420.4 us | 402.8 us | 421.1 us | 1.00 | 0.03 | - | - | - | 904 B |
KNucleotide_1 | KNucleotide_1 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | ? | ? | ? | ? | 339,719.0 us | 6,732.2197 us | 6,913.4939 us | 345,166.5 us | 331,200.9 us | 346,213.1 us | 1.00 | 0.00 | 3000.0000 | 2000.0000 | 2000.0000 | 27365064 B |
KNucleotide_1 | KNucleotide_1 | 2.2 | 2.2 | 20 | ? | ? | ? | ? | ? | ? | ? | 341,268.1 us | 8,084.9252 us | 8,986.3729 us | 345,851.0 us | 331,641.1 us | 363,232.6 us | 1.01 | 0.01 | 3000.0000 | 2000.0000 | 2000.0000 | 27365064 B |
KNucleotide_9 | KNucleotide_9 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | ? | ? | ? | ? | 72,658.7 us | 4,121.6388 us | 4,581.1907 us | 72,729.9 us | 64,488.0 us | 81,355.2 us | 1.00 | 0.00 | 2250.0000 | 1500.0000 | 1250.0000 | 8394272 B |
KNucleotide_9 | KNucleotide_9 | 2.2 | 2.2 | 20 | ? | ? | ? | ? | ? | ? | ? | 76,147.1 us | 5,652.1891 us | 6,509.0694 us | 73,707.1 us | 68,906.8 us | 90,827.3 us | 1.05 | 0.10 | 2250.0000 | 1500.0000 | 1000.0000 | 8394272 B |
NBody_3 | NBody_3 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | ? | ? | ? | ? | 450,395.2 us | 4,854.7449 us | 4,303.6049 us | 449,371.9 us | 444,891.5 us | 456,450.1 us | 1.00 | 0.00 | - | - | - | 880 B |
NBody_3 | NBody_3 | 2.2 | 2.2 | 20 | ? | ? | ? | ? | ? | ? | ? | 439,872.3 us | 8,992.5652 us | 9,995.2124 us | 434,004.2 us | 433,215.9 us | 460,252.0 us | 0.98 | 0.02 | - | - | - | 880 B |
RegexRedux_1 | RegexRedux_1 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | ? | ? | ? | ? | 119,992.6 us | 3,631.8125 us | 3,885.9987 us | 119,743.3 us | 116,320.4 us | 128,802.1 us | 1.00 | 0.00 | 2500.0000 | 1000.0000 | 1000.0000 | 16891760 B |
RegexRedux_1 | RegexRedux_1 | 2.2 | 2.2 | 20 | ? | ? | ? | ? | ? | ? | ? | 120,517.4 us | 3,005.9056 us | 3,216.2853 us | 118,837.3 us | 117,088.2 us | 127,004.3 us | 1.00 | 0.03 | 2500.0000 | 1000.0000 | 1000.0000 | 16891760 B |
RegexRedux_5 | RegexRedux_5 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | ? | ? | ? | ? | 45,178.0 us | 1,340.6141 us | 1,376.7120 us | 44,722.3 us | 42,679.4 us | 47,943.8 us | 1.00 | 0.00 | 3000.0000 | 1750.0000 | 1000.0000 | 2914656 B |
RegexRedux_5 | RegexRedux_5 | 2.2 | 2.2 | 20 | ? | ? | ? | ? | ? | ? | ? | 49,063.4 us | 2,961.1134 us | 3,168.3582 us | 49,392.7 us | 43,783.5 us | 55,382.1 us | 1.09 | 0.08 | 3166.6667 | 2166.6667 | 1166.6667 | 2915545 B |
ReverseComplement_1 | ReverseComplement_1 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | ? | ? | ? | ? | 677.1 us | 37.2081 us | 39.8122 us | 658.8 us | 652.2 us | 786.2 us | 1.00 | 0.00 | 44.6429 | 11.9048 | - | 288224 B |
ReverseComplement_1 | ReverseComplement_1 | 2.2 | 2.2 | 20 | ? | ? | ? | ? | ? | ? | ? | 690.9 us | 22.5577 us | 24.1364 us | 697.3 us | 661.2 us | 744.5 us | 1.02 | 0.06 | 43.4783 | 13.5870 | - | 288224 B |
ReverseComplement_6 | ReverseComplement_6 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | ? | ? | ? | ? | 30,768.6 us | 570.4889 us | 533.6357 us | 31,047.0 us | 29,251.4 us | 31,059.2 us | 1.00 | 0.00 | 250.0000 | 250.0000 | 250.0000 | 3560 B |
ReverseComplement_6 | ReverseComplement_6 | 2.2 | 2.2 | 20 | ? | ? | ? | ? | ? | ? | ? | 30,888.1 us | 354.3043 us | 331.4164 us | 31,034.4 us | 30,016.5 us | 31,185.8 us | 1.00 | 0.02 | 250.0000 | 250.0000 | 250.0000 | 3560 B |
SpectralNorm_1 | SpectralNorm_1 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | ? | ? | ? | ? | 933.3 us | 23.7570 us | 26.4058 us | 946.4 us | 904.7 us | 989.3 us | 1.00 | 0.00 | - | - | - | 18128 B |
SpectralNorm_1 | SpectralNorm_1 | 2.2 | 2.2 | 20 | ? | ? | ? | ? | ? | ? | ? | 932.7 us | 18.5801 us | 20.6517 us | 947.1 us | 904.3 us | 953.6 us | 1.00 | 0.02 | - | - | - | 18128 B |
FannkuchRedux_5 | FannkuchRedux_5 | 2.1 | .NET Core 2.1 | 20 | 10 | 38 | ? | ? | ? | ? | ? | 24,105.0 us | 316.5856 us | 264.3633 us | 24,071.4 us | 23,807.9 us | 24,815.4 us | 1.00 | 0.00 | - | - | - | 4688 B |
FannkuchRedux_5 | FannkuchRedux_5 | 2.2 | 2.2 | 20 | 10 | 38 | ? | ? | ? | ? | ? | 24,150.3 us | 479.9639 us | 492.8876 us | 24,013.4 us | 23,510.6 us | 25,030.5 us | 1.00 | 0.02 | - | - | - | 4688 B |
FannkuchRedux_2 | FannkuchRedux_2 | 2.1 | .NET Core 2.1 | 20 | 10 | 73196 | ? | ? | ? | ? | ? | 138,763.1 us | 2,908.4252 us | 3,232.7069 us | 136,640.8 us | 135,632.2 us | 143,783.3 us | 1.00 | 0.00 | - | - | - | 224 B |
FannkuchRedux_2 | FannkuchRedux_2 | 2.2 | 2.2 | 20 | 10 | 73196 | ? | ? | ? | ? | ? | 139,664.4 us | 3,294.8845 us | 3,794.3938 us | 137,023.5 us | 136,091.8 us | 149,033.8 us | 1.01 | 0.02 | - | - | - | 224 B |
PiDigits_3 | PiDigits_3 | 2.1 | .NET Core 2.1 | 20 | 3000 | ? | 8649423196 :3000 | ? | ? | ? | ? | 641,023.2 us | 14,940.4309 us | 17,205.4224 us | 631,994.3 us | 626,226.5 us | 690,534.8 us | 1.00 | 0.00 | 424000.0000 | 56000.0000 | - | 2670498024 B |
PiDigits_3 | PiDigits_3 | 2.2 | 2.2 | 20 | 3000 | ? | 8649423196 :3000 | ? | ? | ? | ? | 635,939.8 us | 17,439.8060 us | 15,459.9337 us | 628,550.8 us | 626,907.3 us | 672,631.1 us | 0.99 | 0.03 | 424000.0000 | 56000.0000 | - | 2670498024 B |
MandelBrot_7 | MandelBrot_7 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | 4000 | 500 | C7-E6(...)A1-D3 [47] | ? | 77,872.1 us | 985.8895 us | 922.2016 us | 78,052.0 us | 76,438.9 us | 79,572.3 us | 1.00 | 0.00 | - | - | - | 2083000 B |
MandelBrot_7 | MandelBrot_7 | 2.2 | 2.2 | 20 | ? | ? | ? | 4000 | 500 | C7-E6(...)A1-D3 [47] | ? | 79,814.0 us | 678.0428 us | 601.0673 us | 79,639.5 us | 79,023.3 us | 80,883.6 us | 1.02 | 0.01 | - | - | - | 2083032 B |
Mandelbrot_2 | Mandelbrot_2 | 2.1 | .NET Core 2.1 | 20 | ? | ? | ? | ? | ? | C7-E6(...)A1-D3 [47] | 4000 | 1,127,292.7 us | 1,200.9426 us | 1,002.8414 us | 1,126,952.7 us | 1,126,305.8 us | 1,129,747.3 us | 1.00 | 0.00 | - | - | - | 2000096 B |
Mandelbrot_2 | Mandelbrot_2 | 2.2 | 2.2 | 20 | ? | ? | ? | ? | ? | C7-E6(...)A1-D3 [47] | 4000 | 1,128,594.4 us | 1,579.3824 us | 1,233.0779 us | 1,128,259.2 us | 1,127,232.9 us | 1,131,574.2 us | 1.00 | 0.00 | - | - | - | 2000096 B |
from performance.
BenchF
No significant difference.
Type | Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Adams | Adams | 2.1 | 2.1 | 408.0 ns | 1.283 ns | 1.071 ns | 407.7 ns | 406.9 ns | 410.4 ns | 1.00 | 0.00 | 0.0085 | - | - | 64 B |
Adams | Adams | 2.2 | 2.2 | 423.0 ns | 21.885 ns | 25.202 ns | 407.0 ns | 404.6 ns | 477.3 ns | 1.06 | 0.07 | 0.0085 | - | - | 64 B |
BenchMk2 | BenchMk2 | 2.1 | 2.1 | 170,036,630.1 ns | 121,331.249 ns | 113,493.326 ns | 170,050,657.2 ns | 169,858,497.3 ns | 170,237,400.1 ns | 1.00 | 0.00 | - | - | - | - |
BenchMk2 | BenchMk2 | 2.2 | 2.2 | 167,562,527.4 ns | 4,302,168.044 ns | 4,781,848.382 ns | 169,597,627.5 ns | 162,226,557.1 ns | 179,200,774.6 ns | 0.99 | 0.03 | - | - | - | - |
BenchMrk | BenchMrk | 2.1 | 2.1 | 182,293,844.0 ns | 53,296.341 ns | 47,245.818 ns | 182,286,594.2 ns | 182,177,256.9 ns | 182,396,216.6 ns | 1.00 | 0.00 | - | - | - | - |
BenchMrk | BenchMrk | 2.2 | 2.2 | 171,618,837.1 ns | 84,479.665 ns | 70,544.347 ns | 171,630,701.8 ns | 171,463,631.0 ns | 171,699,126.7 ns | 0.94 | 0.00 | - | - | - | - |
Bisect | Bisect | 2.1 | 2.1 | 376,593,504.5 ns | 7,824,543.074 ns | 8,696,958.895 ns | 372,269,562.1 ns | 367,930,854.4 ns | 397,473,582.3 ns | 1.00 | 0.00 | - | - | - | 72 B |
Bisect | Bisect | 2.2 | 2.2 | 376,728,493.5 ns | 7,629,762.128 ns | 8,480,460.389 ns | 372,904,488.0 ns | 367,851,595.6 ns | 385,559,955.0 ns | 1.00 | 0.02 | - | - | - | 72 B |
DMath | DMath | 2.1 | 2.1 | 748,910,001.1 ns | 2,651,087.879 ns | 2,069,795.034 ns | 748,222,093.5 ns | 746,560,509.3 ns | 753,394,729.5 ns | 1.00 | 0.00 | - | - | - | 752 B |
DMath | DMath | 2.2 | 2.2 | 809,687,989.6 ns | 629,594.451 ns | 525,739.881 ns | 809,661,650.4 ns | 808,755,876.0 ns | 810,865,928.3 ns | 1.08 | 0.00 | - | - | - | 752 B |
FFT | FFT | 2.1 | 2.1 | 182,015,318.1 ns | 290,178.192 ns | 242,311.932 ns | 181,989,658.7 ns | 181,647,819.4 ns | 182,489,445.5 ns | 1.00 | 0.00 | - | - | - | 320 B |
FFT | FFT | 2.2 | 2.2 | 181,706,897.0 ns | 469,983.934 ns | 416,628.516 ns | 181,521,946.1 ns | 181,168,845.2 ns | 182,566,423.5 ns | 1.00 | 0.00 | - | - | - | 320 B |
InProd | InProd | 2.1 | 2.1 | 1,405,217,721.8 ns | 1,200,235.486 ns | 1,002,250.990 ns | 1,405,483,570.1 ns | 1,403,862,755.7 ns | 1,407,058,197.6 ns | 1.00 | 0.00 | 1000.0000 | - | - | 11827272 B |
InProd | InProd | 2.2 | 2.2 | 1,405,786,701.0 ns | 1,155,511.633 ns | 964,904.547 ns | 1,405,680,291.6 ns | 1,404,206,020.5 ns | 1,407,893,836.5 ns | 1.00 | 0.00 | 1000.0000 | - | - | 11827272 B |
InvMt | InvMt | 2.1 | 2.1 | 2,432,201.1 ns | 93,660.313 ns | 107,859.356 ns | 2,441,514.1 ns | 2,317,439.3 ns | 2,739,530.2 ns | 1.00 | 0.00 | 8.9286 | - | - | 107592 B |
InvMt | InvMt | 2.2 | 2.2 | 2,315,889.4 ns | 2,650.172 ns | 2,349.308 ns | 2,315,177.9 ns | 2,312,935.3 ns | 2,320,215.6 ns | 0.94 | 0.04 | 8.9286 | - | - | 107592 B |
LLoops | LLoops | 2.1 | 2.1 | 649,355,017.1 ns | 12,462,320.777 ns | 12,239,665.364 ns | 644,005,011.0 ns | 642,538,722.8 ns | 675,430,278.5 ns | 1.00 | 0.00 | - | - | - | 3579816 B |
LLoops | LLoops | 2.2 | 2.2 | 643,341,208.2 ns | 12,558,491.417 ns | 11,132,775.531 ns | 638,578,632.7 ns | 637,843,635.5 ns | 670,521,933.6 ns | 0.99 | 0.01 | - | - | - | 3579816 B |
Lorenz | Lorenz | 2.1 | 2.1 | 241,380,160.5 ns | 6,144,774.506 ns | 6,829,900.582 ns | 244,835,917.1 ns | 233,957,501.3 ns | 257,465,724.8 ns | 1.00 | 0.00 | - | - | - | - |
Lorenz | Lorenz | 2.2 | 2.2 | 242,677,458.3 ns | 4,635,932.787 ns | 4,109,633.663 ns | 244,728,718.2 ns | 234,061,279.0 ns | 244,827,934.2 ns | 1.00 | 0.01 | - | - | - | - |
MatInv4 | MatInv4 | 2.1 | 2.1 | 1,935,323.1 ns | 1,626.873 ns | 1,442.180 ns | 1,934,951.8 ns | 1,933,626.5 ns | 1,937,633.5 ns | 1.00 | 0.00 | - | - | - | 58224 B |
MatInv4 | MatInv4 | 2.2 | 2.2 | 1,905,546.5 ns | 48,917.918 ns | 54,372.136 ns | 1,893,935.7 ns | 1,853,603.4 ns | 2,053,819.5 ns | 0.99 | 0.03 | 6.9444 | - | - | 58224 B |
NewtE | NewtE | 2.1 | 2.1 | 416,604,566.3 ns | 9,224,009.991 ns | 10,622,383.622 ns | 417,659,065.0 ns | 405,413,719.7 ns | 440,289,882.0 ns | 1.00 | 0.00 | - | - | - | - |
NewtE | NewtE | 2.2 | 2.2 | 412,476,713.0 ns | 8,345,353.124 ns | 9,275,837.886 ns | 404,730,611.2 ns | 403,108,086.2 ns | 422,735,478.5 ns | 0.99 | 0.01 | - | - | - | - |
NewtR | NewtR | 2.1 | 2.1 | 301,170,934.0 ns | 5,380,708.510 ns | 4,493,135.300 ns | 301,585,518.6 ns | 289,353,430.5 ns | 306,665,210.7 ns | 1.00 | 0.00 | - | - | - | 72 B |
NewtR | NewtR | 2.2 | 2.2 | 248,124,002.0 ns | 6,118,186.495 ns | 6,546,391.004 ns | 243,765,210.3 ns | 242,727,005.3 ns | 263,381,626.1 ns | 0.83 | 0.02 | - | - | - | 72 B |
Regula | Regula | 2.1 | 2.1 | 222,872,056.3 ns | 135,482.415 ns | 113,133.952 ns | 222,881,793.7 ns | 222,656,561.8 ns | 223,033,754.0 ns | 1.00 | 0.00 | - | - | - | 96 B |
Regula | Regula | 2.2 | 2.2 | 222,785,571.2 ns | 96,393.184 ns | 85,450.047 ns | 222,806,954.0 ns | 222,671,672.3 ns | 222,945,942.1 ns | 1.00 | 0.00 | - | - | - | 96 B |
Romber | Romber | 2.1 | 2.1 | 149,587,681.5 ns | 4,148,599.080 ns | 4,438,954.536 ns | 146,593,894.9 ns | 146,115,063.3 ns | 161,340,882.5 ns | 1.00 | 0.00 | - | - | - | 2688 B |
Romber | Romber | 2.2 | 2.2 | 149,104,688.9 ns | 3,556,380.688 ns | 4,095,533.288 ns | 146,184,985.0 ns | 145,456,331.2 ns | 160,080,154.0 ns | 1.00 | 0.03 | - | - | - | 2688 B |
Secant | Secant | 2.1 | 2.1 | 152,186,526.1 ns | 3,726,108.851 ns | 4,141,560.115 ns | 149,335,166.7 ns | 148,746,427.7 ns | 162,291,988.4 ns | 1.00 | 0.00 | - | - | - | 72 B |
Secant | Secant | 2.2 | 2.2 | 152,200,818.8 ns | 2,965,449.139 ns | 3,296,088.860 ns | 151,240,799.7 ns | 148,749,991.4 ns | 156,651,069.6 ns | 1.00 | 0.02 | - | - | - | 72 B |
Simpsn | Simpsn | 2.1 | 2.1 | 142,655,667.8 ns | 3,084,573.683 ns | 3,428,495.476 ns | 139,993,602.3 ns | 139,628,241.9 ns | 147,607,866.1 ns | 1.00 | 0.00 | - | - | - | - |
Simpsn | Simpsn | 2.2 | 2.2 | 142,913,596.6 ns | 3,679,785.103 ns | 4,090,071.392 ns | 140,117,194.7 ns | 139,479,132.7 ns | 153,145,719.9 ns | 1.00 | 0.01 | - | - | - | - |
SqMtx | SqMtx | 2.1 | 2.1 | 507,861,358.7 ns | 10,666,768.691 ns | 11,856,085.137 ns | 499,547,825.6 ns | 497,907,053.9 ns | 530,217,283.2 ns | 1.00 | 0.00 | - | - | - | 29568 B |
SqMtx | SqMtx | 2.2 | 2.2 | 501,880,353.8 ns | 9,556,492.271 ns | 10,225,339.663 ns | 495,541,691.3 ns | 494,171,340.5 ns | 517,772,222.7 ns | 0.99 | 0.01 | - | - | - | 29568 B |
Trap | Trap | 2.1 | 2.1 | 142,121,320.0 ns | 2,716,299.938 ns | 2,268,233.470 ns | 143,025,679.9 ns | 136,646,485.1 ns | 143,153,976.5 ns | 1.00 | 0.00 | - | - | - | - |
Trap | Trap | 2.2 | 2.2 | 140,803,019.5 ns | 3,811,415.929 ns | 4,078,172.343 ns | 141,217,338.5 ns | 136,742,280.0 ns | 151,275,582.4 ns | 1.00 | 0.02 | - | - | - | - |
Whetsto | Whetsto | 2.1 | 2.1 | 629,588,344.5 ns | 15,518,615.006 ns | 17,871,260.119 ns | 619,193,578.6 ns | 617,329,285.6 ns | 675,227,284.7 ns | 1.00 | 0.00 | - | - | - | 56 B |
Whetsto | Whetsto | 2.2 | 2.2 | 626,011,530.0 ns | 11,805,228.676 ns | 11,594,313.060 ns | 620,840,622.5 ns | 619,299,637.1 ns | 650,031,247.4 ns | 0.99 | 0.03 | - | - | - | 56 B |
from performance.
BenchI
No significant difference.
The huge difference you can see in the details below for IniArray
is caused by alignment difference. This benchmarks is super dependent on alignment.
The 10% difference for EightQueens
is also due to alignment for this particular benchmark run. Asm diff shows no changes.
Type | Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ackermann | Ackermann | 2.1 | 2.1 | 3.221 us | 0.2098 us | 0.2416 us | 3.067 us | 3.045 us | 3.700 us | 1.00 | 0.00 | - | - | - | - |
Ackermann | Ackermann | 2.2 | 2.2 | 3.139 us | 0.0668 us | 0.0742 us | 3.084 us | 3.060 us | 3.237 us | 0.98 | 0.05 | - | - | - | - |
AddArray | AddArray | 2.1 | 2.1 | 24.264 us | 0.4802 us | 0.4932 us | 23.942 us | 23.859 us | 24.924 us | 1.00 | 0.00 | 15.2269 | 2.4881 | - | 96128 B |
AddArray | AddArray | 2.2 | 2.2 | 25.170 us | 1.1064 us | 1.2297 us | 24.899 us | 23.849 us | 28.012 us | 1.04 | 0.06 | 15.2269 | 2.4881 | - | 96128 B |
AddArray2 | AddArray2 | 2.1 | 2.1 | 12,056.594 us | 299.6982 us | 320.6737 us | 12,052.743 us | 11,470.636 us | 12,543.196 us | 1.00 | 0.00 | - | - | - | - |
AddArray2 | AddArray2 | 2.2 | 2.2 | 12,016.355 us | 431.1632 us | 496.5282 us | 11,945.443 us | 11,366.656 us | 13,029.443 us | 1.00 | 0.05 | - | - | - | - |
Array1 | Array1 | 2.1 | 2.1 | 5,963.773 us | 196.7696 us | 210.5413 us | 6,011.112 us | 5,744.573 us | 6,542.073 us | 1.00 | 0.00 | - | - | - | 4032 B |
Array1 | Array1 | 2.2 | 2.2 | 5,871.156 us | 149.1452 us | 165.7745 us | 5,752.703 us | 5,733.672 us | 6,307.705 us | 0.99 | 0.03 | - | - | - | 4032 B |
Array2 | Array2 | 2.1 | 2.1 | 535,330.966 us | 10,064.5204 us | 10,768.9241 us | 530,031.253 us | 528,522.057 us | 555,601.489 us | 1.00 | 0.00 | - | - | - | 15088 B |
Array2 | Array2 | 2.2 | 2.2 | 530,192.284 us | 13,752.7045 us | 15,286.0946 us | 521,969.804 us | 520,944.571 us | 576,026.601 us | 0.99 | 0.02 | - | - | - | 15088 B |
BenchE | BenchE | 2.1 | 2.1 | 457,571.251 us | 8,808.9944 us | 9,425.5254 us | 452,064.664 us | 451,317.692 us | 473,517.005 us | 1.00 | 0.00 | - | - | - | 368 B |
BenchE | BenchE | 2.2 | 2.2 | 455,281.029 us | 8,695.9148 us | 9,304.5314 us | 450,620.756 us | 449,331.945 us | 474,955.353 us | 1.00 | 0.01 | - | - | - | 368 B |
BubbleSort | BubbleSort | 2.1 | 2.1 | 9.898 us | 0.3250 us | 0.3337 us | 9.714 us | 9.630 us | 10.731 us | 1.00 | 0.00 | 0.0405 | - | - | 424 B |
BubbleSort | BubbleSort | 2.2 | 2.2 | 9.739 us | 0.1932 us | 0.1984 us | 9.627 us | 9.550 us | 10.013 us | 0.98 | 0.02 | 0.0400 | - | - | 424 B |
BubbleSort2 | BubbleSort2 | 2.1 | 2.1 | 32,238.477 us | 192.8069 us | 161.0025 us | 32,227.101 us | 31,977.595 us | 32,493.266 us | 1.00 | 0.00 | - | - | - | 30032 B |
BubbleSort2 | BubbleSort2 | 2.2 | 2.2 | 32,153.180 us | 1,128.8900 us | 1,254.7582 us | 32,472.820 us | 29,478.620 us | 33,619.710 us | 1.01 | 0.02 | - | - | - | 30032 B |
CSieve | CSieve | 2.1 | 2.1 | 4,962.340 us | 128.0923 us | 137.0573 us | 4,951.103 us | 4,832.079 us | 5,270.190 us | 1.00 | 0.00 | - | - | - | 8216 B |
CSieve | CSieve | 2.2 | 2.2 | 4,769.786 us | 70.0294 us | 62.0793 us | 4,793.842 us | 4,620.817 us | 4,806.331 us | 0.95 | 0.02 | - | - | - | 8216 B |
EightQueens | EightQueens | 2.1 | 2.1 | 1.690 us | 0.0557 us | 0.0619 us | 1.649 us | 1.629 us | 1.800 us | 1.00 | 0.00 | 0.0197 | - | - | 160 B |
EightQueens | EightQueens | 2.2 | 2.2 | 1.897 us | 0.0580 us | 0.0668 us | 1.908 us | 1.815 us | 2.067 us | 1.12 | 0.04 | 0.0232 | - | - | 160 B |
Fib | Fib | 2.1 | 2.1 | 152.002 us | 5.1423 us | 5.5022 us | 148.435 us | 147.808 us | 164.834 us | 1.00 | 0.00 | - | - | - | - |
Fib | Fib | 2.2 | 2.2 | 146.246 us | 5.2582 us | 5.6263 us | 146.469 us | 139.964 us | 161.748 us | 0.96 | 0.04 | - | - | - | - |
HeapSort | HeapSort | 2.1 | 2.1 | 242.110 us | 5.1033 us | 5.6723 us | 238.539 us | 236.320 us | 250.130 us | 1.00 | 0.00 | 2.9297 | - | - | 22032 B |
HeapSort | HeapSort | 2.2 | 2.2 | 245.183 us | 12.5990 us | 14.0037 us | 243.419 us | 232.477 us | 277.003 us | 1.01 | 0.05 | 2.8846 | - | - | 22032 B |
IniArray | IniArray | 2.1 | 2.1 | 59,073.870 us | 2,642.5007 us | 3,043.1077 us | 58,455.519 us | 55,853.093 us | 64,683.181 us | 1.00 | 0.00 | - | - | - | 56 B |
IniArray | IniArray | 2.2 | 2.2 | 93,167.765 us | 2,576.3132 us | 2,966.8861 us | 91,306.341 us | 91,001.458 us | 101,883.224 us | 1.58 | 0.07 | - | - | - | 56 B |
LogicArray | LogicArray | 2.1 | 2.1 | 316,536.580 us | 7,443.6422 us | 8,273.5885 us | 320,219.325 us | 306,135.203 us | 329,609.784 us | 1.00 | 0.00 | - | - | - | 12264 B |
LogicArray | LogicArray | 2.2 | 2.2 | 317,928.531 us | 10,223.5593 us | 11,773.4661 us | 311,742.622 us | 308,713.110 us | 345,124.271 us | 1.00 | 0.03 | - | - | - | 12264 B |
Midpoint | Midpoint | 2.1 | 2.1 | 459,973.352 us | 659.3622 us | 550.5973 us | 459,956.048 us | 459,201.094 us | 460,878.074 us | 1.00 | 0.00 | - | - | - | 104104 B |
Midpoint | Midpoint | 2.2 | 2.2 | 501,652.025 us | 9,511.0890 us | 9,767.1882 us | 495,099.923 us | 493,160.648 us | 517,296.670 us | 1.10 | 0.02 | - | - | - | 104104 B |
MulMatrix | MulMatrix | 2.1 | 2.1 | 402,053.160 us | 8,980.9265 us | 10,342.4483 us | 396,046.638 us | 393,058.182 us | 427,193.360 us | 1.00 | 0.00 | - | - | - | 75672 B |
MulMatrix | MulMatrix | 2.2 | 2.2 | 402,034.215 us | 8,772.8773 us | 10,102.8586 us | 394,748.846 us | 393,226.108 us | 423,465.344 us | 1.00 | 0.01 | - | - | - | 75672 B |
NDhrystone | NDhrystone | 2.1 | 2.1 | 511,065.501 us | 11,072.0044 us | 12,750.5368 us | 504,867.290 us | 499,141.553 us | 547,758.287 us | 1.00 | 0.00 | 97000.0000 | - | - | 616012440 B |
NDhrystone | NDhrystone | 2.2 | 2.2 | 542,987.733 us | 25,222.2020 us | 29,045.9253 us | 527,024.835 us | 520,866.453 us | 611,744.390 us | 1.06 | 0.04 | 97000.0000 | - | - | 616012440 B |
Permutate | Permutate | 2.1 | 2.1 | 583,434.486 us | 11,131.1553 us | 10,932.2828 us | 578,518.693 us | 577,419.618 us | 605,661.418 us | 1.00 | 0.00 | - | - | - | - |
Permutate | Permutate | 2.2 | 2.2 | 575,977.815 us | 11,749.6925 us | 12,066.0691 us | 569,319.822 us | 568,134.361 us | 601,516.866 us | 0.99 | 0.01 | - | - | - | - |
Pi | Test | 2.1 | 2.1 | 6,552.779 us | 136.6925 us | 151.9333 us | 6,435.827 us | 6,419.576 us | 6,778.337 us | 1.00 | 0.00 | - | - | - | 1032 B |
Pi | Test | 2.2 | 2.2 | 6,542.549 us | 152.8327 us | 169.8732 us | 6,437.531 us | 6,416.873 us | 7,011.807 us | 1.00 | 0.02 | - | - | - | 1032 B |
Puzzle | Puzzle | 2.1 | 2.1 | 482,008.105 us | 9,444.8670 us | 10,105.9019 us | 476,214.798 us | 475,232.188 us | 501,278.405 us | 1.00 | 0.00 | - | - | - | 7096 B |
Puzzle | Puzzle | 2.2 | 2.2 | 486,940.001 us | 9,779.3569 us | 10,869.7293 us | 479,627.062 us | 478,304.751 us | 503,952.677 us | 1.01 | 0.01 | - | - | - | 7096 B |
QuickSort | QuickSort | 2.1 | 2.1 | 8.327 us | 0.2080 us | 0.2395 us | 8.160 us | 8.120 us | 8.978 us | 1.00 | 0.00 | 0.1020 | - | - | 824 B |
QuickSort | QuickSort | 2.2 | 2.2 | 8.328 us | 0.1992 us | 0.2131 us | 8.414 us | 8.078 us | 8.884 us | 1.00 | 0.02 | 0.1014 | - | - | 824 B |
TreeInsert | TreeInsert | 2.1 | 2.1 | 52.610 us | 0.1468 us | 0.1147 us | 52.598 us | 52.416 us | 52.760 us | 1.00 | 0.00 | - | - | - | - |
TreeInsert | TreeInsert | 2.2 | 2.2 | 53.112 us | 1.0030 us | 1.0300 us | 52.642 us | 52.400 us | 55.826 us | 1.01 | 0.02 | - | - | - | - |
TreeSort | TreeSort | 2.1 | 2.1 | 397.133 us | 10.4548 us | 11.1865 us | 399.242 us | 386.776 us | 428.024 us | 1.00 | 0.00 | 33.6538 | 11.2179 | - | 220032 B |
TreeSort | TreeSort | 2.2 | 2.2 | 403.807 us | 8.3752 us | 9.3091 us | 410.001 us | 392.376 us | 423.120 us | 1.02 | 0.02 | 33.7838 | 11.8243 | - | 220032 B |
XposMatrix | XposMatrix | 2.1 | 2.1 | 17.883 us | 0.3505 us | 0.3278 us | 17.696 us | 17.666 us | 18.488 us | 1.00 | 0.00 | - | - | - | - |
XposMatrix | XposMatrix | 2.2 | 2.2 | 16.097 us | 0.3955 us | 0.4554 us | 16.321 us | 15.586 us | 17.384 us | 0.91 | 0.03 | - | - | - | - |
from performance.
Burgers
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Burgers_0 | 2.1 | .NET Core 2.1 | 277.8 ms | 6.4020 ms | 6.8500 ms | 274.0 ms | 270.5 ms | 290.1 ms | 1.00 | 0.00 | 126000.0000 | - | - | 781640.66 KB |
Burgers_0 | 2.2 | 2.2 | 282.9 ms | 4.0762 ms | 3.4038 ms | 283.3 ms | 271.7 ms | 284.7 ms | 1.01 | 0.02 | 126000.0000 | - | - | 781640.66 KB |
Burgers_1 | 2.1 | .NET Core 2.1 | 209.2 ms | 4.6100 ms | 5.1240 ms | 212.1 ms | 202.7 ms | 220.4 ms | 1.00 | 0.00 | - | - | - | 156.31 KB |
Burgers_1 | 2.2 | 2.2 | 212.3 ms | 0.1298 ms | 0.1214 ms | 212.2 ms | 212.1 ms | 212.5 ms | 1.01 | 0.02 | - | - | - | 156.31 KB |
Burgers_2 | 2.1 | .NET Core 2.1 | 212.2 ms | 0.1404 ms | 0.1097 ms | 212.2 ms | 212.1 ms | 212.4 ms | 1.00 | 0.00 | - | - | - | 156.31 KB |
Burgers_2 | 2.2 | 2.2 | 212.0 ms | 0.1916 ms | 0.1698 ms | 211.9 ms | 211.8 ms | 212.3 ms | 1.00 | 0.00 | - | - | - | 156.31 KB |
Burgers_3 | 2.1 | .NET Core 2.1 | 501.5 ms | 0.5378 ms | 0.4768 ms | 501.4 ms | 500.7 ms | 502.5 ms | 1.00 | 0.00 | - | - | - | 156.36 KB |
Burgers_3 | 2.2 | 2.2 | 508.4 ms | 1.3470 ms | 1.0517 ms | 508.0 ms | 507.6 ms | 510.9 ms | 1.01 | 0.00 | - | - | - | 156.36 KB |
from performance.
ByteMark
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BenchNumericSortJagged | 2.1 | .NET Core 2.1 | 1,156.4 ms | 3.2487 ms | 2.7128 ms | 1,155.2 ms | 1,153.8 ms | 1,161.5 ms | 1.00 | 0.00 | 10000.0000 | 5000.0000 | - | 63437.78 KB |
BenchNumericSortJagged | 2.2 | 2.2 | 1,120.8 ms | 0.7205 ms | 0.5625 ms | 1,120.9 ms | 1,119.6 ms | 1,121.6 ms | 0.97 | 0.00 | 10000.0000 | 5000.0000 | - | 63437.78 KB |
BenchNumericSortRectangular | 2.1 | .NET Core 2.1 | 1,109.8 ms | 2.3742 ms | 1.8536 ms | 1,109.2 ms | 1,108.0 ms | 1,114.1 ms | 1.00 | 0.00 | 2000.0000 | 2000.0000 | 2000.0000 | 31683.84 KB |
BenchNumericSortRectangular | 2.2 | 2.2 | 1,123.1 ms | 0.9125 ms | 0.7124 ms | 1,123.2 ms | 1,121.9 ms | 1,124.4 ms | 1.01 | 0.00 | 2000.0000 | 2000.0000 | 2000.0000 | 31683.84 KB |
BenchStringSort | 2.1 | .NET Core 2.1 | 1,368.1 ms | 0.9647 ms | 0.7532 ms | 1,367.8 ms | 1,367.2 ms | 1,369.4 ms | 1.00 | 0.00 | 11000.0000 | 5000.0000 | - | 70113.21 KB |
BenchStringSort | 2.2 | 2.2 | 1,382.8 ms | 2.5521 ms | 2.1311 ms | 1,382.1 ms | 1,380.4 ms | 1,388.4 ms | 1.01 | 0.00 | 11000.0000 | 5000.0000 | - | 70113.21 KB |
BenchBitOps | 2.1 | .NET Core 2.1 | 595.1 ms | 4.2818 ms | 3.7957 ms | 593.5 ms | 589.1 ms | 601.6 ms | 1.00 | 0.00 | 4166000.0000 | 4166000.0000 | 4166000.0000 | 12804687.55 KB |
BenchBitOps | 2.2 | 2.2 | 601.8 ms | 7.4798 ms | 6.6307 ms | 599.0 ms | 595.9 ms | 614.4 ms | 1.01 | 0.01 | 4166000.0000 | 4166000.0000 | 4166000.0000 | 12804687.55 KB |
BenchEmFloat | 2.1 | .NET Core 2.1 | 3,097.1 ms | 2.2636 ms | 2.0066 ms | 3,096.8 ms | 3,094.8 ms | 3,102.1 ms | 1.00 | 0.00 | 16000.0000 | 3000.0000 | - | 101717.36 KB |
BenchEmFloat | 2.2 | 2.2 | 3,134.8 ms | 3.1172 ms | 2.7634 ms | 3,133.9 ms | 3,130.9 ms | 3,140.9 ms | 1.01 | 0.00 | 16000.0000 | 3000.0000 | - | 101717.36 KB |
BenchEmFloatClass | 2.1 | .NET Core 2.1 | 638.4 ms | 12.5825 ms | 12.9213 ms | 631.0 ms | 629.6 ms | 672.9 ms | 1.00 | 0.00 | 5000.0000 | 1000.0000 | - | 35216.14 KB |
BenchEmFloatClass | 2.2 | 2.2 | 627.9 ms | 12.2067 ms | 10.8209 ms | 623.1 ms | 621.2 ms | 652.9 ms | 0.98 | 0.02 | 5000.0000 | 1000.0000 | - | 35216.14 KB |
BenchFourier | 2.1 | .NET Core 2.1 | 500.9 ms | 1.0150 ms | 0.8476 ms | 500.6 ms | 499.7 ms | 502.5 ms | 1.00 | 0.00 | - | - | - | 482.85 KB |
BenchFourier | 2.2 | 2.2 | 501.7 ms | 0.7168 ms | 0.5986 ms | 501.8 ms | 501.0 ms | 502.8 ms | 1.00 | 0.00 | - | - | - | 482.85 KB |
BenchAssignJagged | 2.1 | .NET Core 2.1 | 959.2 ms | 3.3527 ms | 2.6175 ms | 959.7 ms | 954.1 ms | 962.2 ms | 1.00 | 0.00 | - | - | - | 5576.65 KB |
BenchAssignJagged | 2.2 | 2.2 | 909.3 ms | 0.9754 ms | 0.7615 ms | 909.1 ms | 908.4 ms | 910.7 ms | 0.95 | 0.00 | - | - | - | 5576.65 KB |
BenchAssignRectangular | 2.1 | .NET Core 2.1 | 1,281.5 ms | 3.2570 ms | 2.8872 ms | 1,282.3 ms | 1,276.6 ms | 1,285.1 ms | 1.00 | 0.00 | - | - | - | 5213.83 KB |
BenchAssignRectangular | 2.2 | 2.2 | 1,253.4 ms | 5.3400 ms | 4.7338 ms | 1,251.8 ms | 1,247.2 ms | 1,262.4 ms | 0.98 | 0.00 | - | - | - | 5213.83 KB |
BenchIDEAEncryption | 2.1 | .NET Core 2.1 | 898.3 ms | 0.8406 ms | 0.7019 ms | 898.0 ms | 897.3 ms | 899.5 ms | 1.00 | 0.00 | - | - | - | 610.2 KB |
BenchIDEAEncryption | 2.2 | 2.2 | 893.2 ms | 2.1630 ms | 1.8062 ms | 892.9 ms | 891.6 ms | 898.0 ms | 0.99 | 0.00 | - | - | - | 610.2 KB |
BenchNeuralJagged | 2.1 | .NET Core 2.1 | 808.1 ms | 1.2163 ms | 0.9496 ms | 808.0 ms | 807.0 ms | 810.3 ms | 1.00 | 0.00 | - | - | - | 881.23 KB |
BenchNeuralJagged | 2.2 | 2.2 | 809.6 ms | 1.4653 ms | 1.1440 ms | 809.8 ms | 807.1 ms | 810.9 ms | 1.00 | 0.00 | - | - | - | 881.23 KB |
BenchNeural | 2.1 | .NET Core 2.1 | 745.1 ms | 1.2951 ms | 1.0111 ms | 745.1 ms | 743.5 ms | 747.7 ms | 1.00 | 0.00 | - | - | - | 1502.09 KB |
BenchNeural | 2.2 | 2.2 | 750.0 ms | 14.4868 ms | 14.2279 ms | 743.4 ms | 742.8 ms | 779.1 ms | 1.01 | 0.02 | - | - | - | 1502.09 KB |
BenchLUDecomp | 2.1 | .NET Core 2.1 | 1,179.3 ms | 23.3300 ms | 21.8229 ms | 1,181.1 ms | 1,150.8 ms | 1,213.8 ms | 1.00 | 0.00 | 40000.0000 | 20000.0000 | 6000.0000 | 211160.77 KB |
BenchLUDecomp | 2.2 | 2.2 | 1,212.5 ms | 23.3051 ms | 23.9326 ms | 1,215.7 ms | 1,157.3 ms | 1,242.4 ms | 1.03 | 0.02 | 40000.0000 | 20000.0000 | 6000.0000 | 211161.48 KB |
from performance.
CscBench
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CompileTest | 2.1 | .NET Core 2.1 | 436.8 ms | 17.059 ms | 19.645 ms | 436.5 ms | 397.2 ms | 468.6 ms | 1.00 | 0.00 | 33000.0000 | 1000.0000 | - | 192.96 MB |
CompileTest | 2.2 | 2.2 | 452.4 ms | 15.008 ms | 17.283 ms | 448.5 ms | 423.8 ms | 489.6 ms | 1.04 | 0.06 | 33000.0000 | 1000.0000 | - | 192.96 MB |
DatflowTest | 2.1 | .NET Core 2.1 | 446.4 ms | 2.295 ms | 2.034 ms | 446.4 ms | 443.9 ms | 450.7 ms | 1.00 | 0.00 | 18000.0000 | - | - | 110.15 MB |
DatflowTest | 2.2 | 2.2 | 429.9 ms | 8.052 ms | 7.532 ms | 426.5 ms | 425.0 ms | 445.4 ms | 0.96 | 0.02 | 18000.0000 | - | - | 110.15 MB |
from performance.
Devirtualization.EqualityComparer
No significant difference. ValueTupleCompareNoOpt
shows difference, but it's gone after a benchmark re-run.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ValueTupleCompareNoOpt | 2.1 | .NET Core 2.1 | 4.932 ns | 0.1251 ns | 0.1285 ns | 4.855 ns | 4.847 ns | 5.155 ns | 1.00 | 0.00 | - | - | - | - |
ValueTupleCompareNoOpt | 2.2 | 2.2 | 6.078 ns | 0.1979 ns | 0.2199 ns | 5.957 ns | 5.948 ns | 6.698 ns | 1.24 | 0.02 | - | - | - | - |
ValueTupleCompare | 2.1 | .NET Core 2.1 | 2.894 ns | 0.0057 ns | 0.0051 ns | 2.893 ns | 2.887 ns | 2.904 ns | 1.00 | 0.00 | - | - | - | - |
ValueTupleCompare | 2.2 | 2.2 | 2.759 ns | 0.0069 ns | 0.0065 ns | 2.757 ns | 2.752 ns | 2.775 ns | 0.95 | 0.00 | - | - | - | - |
ValueTupleCompareCached | 2.1 | .NET Core 2.1 | 4.320 ns | 0.0306 ns | 0.0239 ns | 4.311 ns | 4.306 ns | 4.393 ns | 1.00 | 0.00 | - | - | - | - |
ValueTupleCompareCached | 2.2 | 2.2 | 4.452 ns | 0.0084 ns | 0.0070 ns | 4.452 ns | 4.438 ns | 4.469 ns | 1.03 | 0.01 | - | - | - | - |
ValueTupleCompareWrapped | 2.1 | .NET Core 2.1 | 4.986 ns | 0.1290 ns | 0.1433 ns | 4.882 ns | 4.853 ns | 5.190 ns | 1.00 | 0.00 | - | - | - | - |
ValueTupleCompareWrapped | 2.2 | 2.2 | 4.930 ns | 0.0665 ns | 0.0555 ns | 4.902 ns | 4.899 ns | 5.074 ns | 0.98 | 0.03 | - | - | - | - |
from performance.
FractalPerf
No significant difference.
Method | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|
FractalPerf | 2.1 | 144.8 ms | 0.3484 ms | 0.3088 ms | 144.9 ms | 144.0 ms | 145.2 ms | 1.00 | - | - | - | - |
FractalPerf | 2.2 | 144.8 ms | 0.3115 ms | 0.2761 ms | 144.9 ms | 144.2 ms | 145.0 ms | 1.00 | - | - | - | - |
from performance.
MathTests
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AbsDoubleBenchmark | 2.1 | .NET Core 2.1 | 3.952 us | 0.0669 us | 0.0522 us | 3.970 us | 3.790 us | 3.972 us | 1.00 | 0.00 | - | - | - | - |
AbsDoubleBenchmark | 2.2 | 2.2 | 3.886 us | 0.0802 us | 0.0891 us | 3.960 us | 3.790 us | 3.972 us | 1.00 | 0.01 | - | - | - | - |
AcosDoubleBenchmark | 2.1 | .NET Core 2.1 | 47.993 us | 0.9953 us | 1.0221 us | 47.442 us | 47.356 us | 50.125 us | 1.00 | 0.00 | - | - | - | - |
AcosDoubleBenchmark | 2.2 | 2.2 | 48.287 us | 1.2035 us | 1.2877 us | 47.494 us | 47.380 us | 51.559 us | 1.01 | 0.02 | - | - | - | - |
AsinDoubleBenchmark | 2.1 | .NET Core 2.1 | 57.902 us | 0.0353 us | 0.0330 us | 57.905 us | 57.842 us | 57.952 us | 1.00 | 0.00 | - | - | - | - |
AsinDoubleBenchmark | 2.2 | 2.2 | 55.102 us | 0.1099 us | 0.0858 us | 55.106 us | 54.931 us | 55.233 us | 0.95 | 0.00 | - | - | - | - |
Atan2DoubleBenchmark | 2.1 | .NET Core 2.1 | 88.908 us | 1.6424 us | 1.4559 us | 89.490 us | 85.433 us | 89.649 us | 1.00 | 0.00 | - | - | - | - |
Atan2DoubleBenchmark | 2.2 | 2.2 | 89.738 us | 0.0866 us | 0.0723 us | 89.715 us | 89.655 us | 89.924 us | 1.01 | 0.01 | - | - | - | - |
AtanDoubleBenchmark | 2.1 | .NET Core 2.1 | 37.261 us | 0.9520 us | 1.0582 us | 36.696 us | 36.603 us | 40.492 us | 1.00 | 0.00 | - | - | - | - |
AtanDoubleBenchmark | 2.2 | 2.2 | 38.331 us | 1.1524 us | 1.3271 us | 37.898 us | 36.917 us | 41.242 us | 1.03 | 0.03 | - | - | - | - |
CeilingDoubleBenchmark | 2.1 | .NET Core 2.1 | 5.211 us | 0.1308 us | 0.1506 us | 5.291 us | 5.050 us | 5.630 us | 1.00 | 0.00 | - | - | - | - |
CeilingDoubleBenchmark | 2.2 | 2.2 | 5.177 us | 0.1239 us | 0.1427 us | 5.072 us | 5.053 us | 5.550 us | 0.99 | 0.03 | - | - | - | - |
CosDoubleBenchmark | 2.1 | .NET Core 2.1 | 35.429 us | 0.8877 us | 1.0223 us | 35.294 us | 34.489 us | 38.162 us | 1.00 | 0.00 | - | - | - | - |
CosDoubleBenchmark | 2.2 | 2.2 | 35.814 us | 1.0544 us | 1.1720 us | 36.315 us | 34.657 us | 38.529 us | 1.01 | 0.03 | - | - | - | - |
CoshDoubleBenchmark | 2.1 | .NET Core 2.1 | 56.790 us | 1.6046 us | 1.7835 us | 55.877 us | 55.727 us | 61.604 us | 1.00 | 0.00 | - | - | - | - |
CoshDoubleBenchmark | 2.2 | 2.2 | 58.204 us | 0.9637 us | 0.7524 us | 58.403 us | 55.819 us | 58.496 us | 1.02 | 0.04 | - | - | - | - |
ExpDoubleBenchmark | 2.1 | .NET Core 2.1 | 31.267 us | 0.7682 us | 0.8538 us | 30.652 us | 30.542 us | 33.317 us | 1.00 | 0.00 | - | - | - | - |
ExpDoubleBenchmark | 2.2 | 2.2 | 31.010 us | 0.8200 us | 0.8774 us | 30.609 us | 30.554 us | 33.639 us | 0.99 | 0.03 | - | - | - | - |
FloorDoubleBenchmark | 2.1 | .NET Core 2.1 | 5.191 us | 0.1774 us | 0.1898 us | 5.062 us | 5.052 us | 5.610 us | 1.00 | 0.00 | - | - | - | - |
FloorDoubleBenchmark | 2.2 | 2.2 | 5.220 us | 0.1495 us | 0.1721 us | 5.238 us | 5.054 us | 5.609 us | 1.01 | 0.04 | - | - | - | - |
Log10DoubleBenchmark | 2.1 | .NET Core 2.1 | 33.101 us | 0.0100 us | 0.0083 us | 33.099 us | 33.092 us | 33.123 us | 1.00 | 0.00 | - | - | - | - |
Log10DoubleBenchmark | 2.2 | 2.2 | 32.156 us | 0.8057 us | 0.8621 us | 31.660 us | 31.589 us | 34.037 us | 0.98 | 0.03 | - | - | - | - |
LogDoubleBenchmark | 2.1 | .NET Core 2.1 | 31.036 us | 1.0472 us | 1.1639 us | 31.104 us | 29.680 us | 33.780 us | 1.00 | 0.00 | - | - | - | - |
LogDoubleBenchmark | 2.2 | 2.2 | 30.499 us | 0.9070 us | 0.9705 us | 29.891 us | 29.670 us | 32.827 us | 0.98 | 0.04 | - | - | - | - |
PowDoubleBenchmark | 2.1 | .NET Core 2.1 | 150.596 us | 3.6691 us | 4.2253 us | 152.797 us | 146.246 us | 161.567 us | 1.00 | 0.00 | - | - | - | - |
PowDoubleBenchmark | 2.2 | 2.2 | 149.394 us | 3.9154 us | 4.3519 us | 146.793 us | 146.132 us | 161.698 us | 0.99 | 0.03 | - | - | - | - |
RoundDoubleBenchmark | 2.1 | .NET Core 2.1 | 5.058 us | 0.0063 us | 0.0053 us | 5.057 us | 5.049 us | 5.068 us | 1.00 | 0.00 | - | - | - | - |
RoundDoubleBenchmark | 2.2 | 2.2 | 5.269 us | 0.0814 us | 0.0679 us | 5.293 us | 5.056 us | 5.296 us | 1.04 | 0.01 | - | - | - | - |
SinDoubleBenchmark | 2.1 | .NET Core 2.1 | 31.561 us | 0.8666 us | 0.9632 us | 31.909 us | 30.462 us | 33.991 us | 1.00 | 0.00 | - | - | - | - |
SinDoubleBenchmark | 2.2 | 2.2 | 31.628 us | 0.6123 us | 0.6551 us | 31.298 us | 30.954 us | 32.665 us | 1.00 | 0.03 | - | - | - | - |
SinhDoubleBenchmark | 2.1 | .NET Core 2.1 | 60.509 us | 1.2759 us | 1.4182 us | 59.352 us | 59.129 us | 62.132 us | 1.00 | 0.00 | - | - | - | - |
SinhDoubleBenchmark | 2.2 | 2.2 | 60.542 us | 1.2709 us | 1.3598 us | 59.659 us | 59.453 us | 63.877 us | 1.00 | 0.02 | - | - | - | - |
SqrtDoubleBenchmark | 2.1 | .NET Core 2.1 | 9.655 us | 0.1947 us | 0.1726 us | 9.570 us | 9.549 us | 10.013 us | 1.00 | 0.00 | - | - | - | - |
SqrtDoubleBenchmark | 2.2 | 2.2 | 9.870 us | 0.1952 us | 0.2088 us | 10.015 us | 9.621 us | 10.257 us | 1.03 | 0.02 | - | - | - | - |
TanDoubleBenchmark | 2.1 | .NET Core 2.1 | 35.774 us | 0.0246 us | 0.0206 us | 35.774 us | 35.739 us | 35.816 us | 1.00 | 0.00 | - | - | - | - |
TanDoubleBenchmark | 2.2 | 2.2 | 34.921 us | 0.8925 us | 0.9920 us | 34.337 us | 34.157 us | 37.757 us | 0.99 | 0.03 | - | - | - | - |
TanhDoubleBenchmark | 2.1 | .NET Core 2.1 | 30.470 us | 0.6331 us | 0.7037 us | 29.993 us | 29.887 us | 31.476 us | 1.00 | 0.00 | - | - | - | - |
TanhDoubleBenchmark | 2.2 | 2.2 | 32.464 us | 0.8350 us | 0.8201 us | 32.621 us | 31.283 us | 34.036 us | 1.06 | 0.03 | - | - | - | - |
AbsSingleBenchmark | 2.1 | .NET Core 2.1 | 3.894 us | 0.0779 us | 0.0833 us | 3.951 us | 3.791 us | 3.971 us | 1.00 | 0.00 | - | - | - | - |
AbsSingleBenchmark | 2.2 | 2.2 | 3.881 us | 0.0905 us | 0.1006 us | 3.808 us | 3.795 us | 4.127 us | 1.00 | 0.02 | - | - | - | - |
AcosSingleBenchmark | 2.1 | .NET Core 2.1 | 36.629 us | 1.1272 us | 1.2529 us | 35.800 us | 35.694 us | 39.574 us | 1.00 | 0.00 | - | - | - | - |
AcosSingleBenchmark | 2.2 | 2.2 | 38.768 us | 2.1444 us | 2.4695 us | 37.439 us | 35.816 us | 43.832 us | 1.06 | 0.08 | - | - | - | - |
AsinSingleBenchmark | 2.1 | .NET Core 2.1 | 38.788 us | 0.8381 us | 0.8968 us | 38.298 us | 37.910 us | 39.797 us | 1.00 | 0.00 | - | - | - | - |
AsinSingleBenchmark | 2.2 | 2.2 | 39.413 us | 0.4025 us | 0.3361 us | 39.488 us | 38.302 us | 39.562 us | 1.01 | 0.02 | - | - | - | - |
Atan2SingleBenchmark | 2.1 | .NET Core 2.1 | 58.523 us | 1.6944 us | 1.8833 us | 57.468 us | 57.098 us | 64.189 us | 1.00 | 0.00 | - | - | - | - |
Atan2SingleBenchmark | 2.2 | 2.2 | 58.436 us | 1.4739 us | 1.5771 us | 57.521 us | 57.121 us | 62.448 us | 1.00 | 0.03 | - | - | - | - |
AtanSingleBenchmark | 2.1 | .NET Core 2.1 | 30.159 us | 0.6917 us | 0.7688 us | 29.507 us | 29.418 us | 31.503 us | 1.00 | 0.00 | - | - | - | - |
AtanSingleBenchmark | 2.2 | 2.2 | 30.005 us | 0.6156 us | 0.6843 us | 30.568 us | 29.224 us | 30.714 us | 1.00 | 0.01 | - | - | - | - |
CeilingSingleBenchmark | 2.1 | .NET Core 2.1 | 5.144 us | 0.1239 us | 0.1377 us | 5.066 us | 5.049 us | 5.524 us | 1.00 | 0.00 | - | - | - | - |
CeilingSingleBenchmark | 2.2 | 2.2 | 5.156 us | 0.0988 us | 0.1098 us | 5.073 us | 5.056 us | 5.297 us | 1.00 | 0.02 | - | - | - | - |
CoshSingleBenchmark | 2.1 | .NET Core 2.1 | 50.262 us | 1.6720 us | 1.9255 us | 50.575 us | 48.264 us | 54.649 us | 1.00 | 0.00 | - | - | - | - |
CoshSingleBenchmark | 2.2 | 2.2 | 50.046 us | 1.3154 us | 1.3508 us | 50.655 us | 48.411 us | 53.215 us | 0.99 | 0.02 | - | - | - | - |
CosSingleBenchmark | 2.1 | .NET Core 2.1 | 31.538 us | 0.8289 us | 0.9545 us | 30.816 us | 30.664 us | 33.717 us | 1.00 | 0.00 | - | - | - | - |
CosSingleBenchmark | 2.2 | 2.2 | 31.307 us | 0.8886 us | 0.9876 us | 30.790 us | 30.702 us | 34.083 us | 0.99 | 0.03 | - | - | - | - |
ExpSingleBenchmark | 2.1 | .NET Core 2.1 | 24.908 us | 0.3782 us | 0.2953 us | 24.988 us | 23.971 us | 25.018 us | 1.00 | 0.00 | - | - | - | - |
ExpSingleBenchmark | 2.2 | 2.2 | 24.416 us | 0.5100 us | 0.5457 us | 24.099 us | 24.056 us | 25.533 us | 0.99 | 0.02 | - | - | - | - |
FloorSingleBenchmark | 2.1 | .NET Core 2.1 | 5.164 us | 0.1330 us | 0.1531 us | 5.064 us | 5.056 us | 5.626 us | 1.00 | 0.00 | - | - | - | - |
FloorSingleBenchmark | 2.2 | 2.2 | 5.161 us | 0.1044 us | 0.1161 us | 5.066 us | 5.058 us | 5.297 us | 1.00 | 0.02 | - | - | - | - |
Log10SingleBenchmark | 2.1 | .NET Core 2.1 | 26.843 us | 0.0282 us | 0.0220 us | 26.836 us | 26.824 us | 26.888 us | 1.00 | 0.00 | - | - | - | - |
Log10SingleBenchmark | 2.2 | 2.2 | 26.908 us | 0.2079 us | 0.1623 us | 26.851 us | 26.825 us | 27.409 us | 1.00 | 0.01 | - | - | - | - |
LogSingleBenchmark | 2.1 | .NET Core 2.1 | 25.819 us | 0.6508 us | 0.7233 us | 25.306 us | 25.231 us | 27.633 us | 1.00 | 0.00 | - | - | - | - |
LogSingleBenchmark | 2.2 | 2.2 | 25.660 us | 0.4979 us | 0.5535 us | 25.311 us | 25.243 us | 26.491 us | 0.99 | 0.02 | - | - | - | - |
PowSingleBenchmark | 2.1 | .NET Core 2.1 | 56.071 us | 2.0630 us | 2.1185 us | 56.453 us | 53.851 us | 62.060 us | 1.00 | 0.00 | - | - | - | - |
PowSingleBenchmark | 2.2 | 2.2 | 56.708 us | 1.7692 us | 1.8930 us | 56.530 us | 53.975 us | 60.198 us | 1.02 | 0.05 | - | - | - | - |
RoundSingleBenchmark | 2.1 | .NET Core 2.1 | 5.193 us | 0.1368 us | 0.1521 us | 5.093 us | 5.056 us | 5.604 us | 1.00 | 0.00 | - | - | - | - |
RoundSingleBenchmark | 2.2 | 2.2 | 5.267 us | 0.2160 us | 0.2311 us | 5.200 us | 5.064 us | 5.814 us | 1.01 | 0.03 | - | - | - | - |
SinhSingleBenchmark | 2.1 | .NET Core 2.1 | 52.348 us | 0.0777 us | 0.0649 us | 52.370 us | 52.184 us | 52.456 us | 1.00 | 0.00 | - | - | - | - |
SinhSingleBenchmark | 2.2 | 2.2 | 52.077 us | 2.2186 us | 2.3738 us | 52.279 us | 49.854 us | 58.360 us | 1.00 | 0.05 | - | - | - | - |
SinSingleBenchmark | 2.1 | .NET Core 2.1 | 28.914 us | 0.7597 us | 0.8444 us | 29.271 us | 28.078 us | 31.043 us | 1.00 | 0.00 | - | - | - | - |
SinSingleBenchmark | 2.2 | 2.2 | 29.425 us | 0.8440 us | 0.9031 us | 29.056 us | 28.126 us | 31.707 us | 1.02 | 0.03 | - | - | - | - |
SqrtSingleBenchmark | 2.1 | .NET Core 2.1 | 5.195 us | 0.0069 us | 0.0062 us | 5.194 us | 5.185 us | 5.207 us | 1.00 | 0.00 | - | - | - | - |
SqrtSingleBenchmark | 2.2 | 2.2 | 5.302 us | 0.1422 us | 0.1581 us | 5.192 us | 5.178 us | 5.692 us | 1.03 | 0.03 | - | - | - | - |
TanhSingleBenchmark | 2.1 | .NET Core 2.1 | 31.483 us | 0.6422 us | 0.7138 us | 31.080 us | 30.758 us | 32.488 us | 1.00 | 0.00 | - | - | - | - |
TanhSingleBenchmark | 2.2 | 2.2 | 31.218 us | 0.8942 us | 0.7467 us | 30.933 us | 30.890 us | 33.323 us | 0.98 | 0.03 | - | - | - | - |
TanSingleBenchmark | 2.1 | .NET Core 2.1 | 25.534 us | 0.6165 us | 0.7100 us | 25.125 us | 25.030 us | 27.644 us | 1.00 | 0.00 | - | - | - | - |
TanSingleBenchmark | 2.2 | 2.2 | 27.892 us | 0.5628 us | 0.5779 us | 28.285 us | 27.012 us | 28.473 us | 1.09 | 0.03 | - | - | - | - |
from performance.
Inlining
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
WithFormat | 2.1 | .NET Core 2.1 | 1.099 ns | 0.0098 ns | 0.0092 ns | 1.097 ns | 1.088 ns | 1.119 ns | 1.00 | - | - | - | - |
WithFormat | 2.2 | 2.2 | 1.174 ns | 0.0096 ns | 0.0090 ns | 1.175 ns | 1.162 ns | 1.196 ns | 1.07 | - | - | - | - |
WithoutFormat | 2.1 | .NET Core 2.1 | 1.103 ns | 0.0142 ns | 0.0126 ns | 1.097 ns | 1.089 ns | 1.131 ns | 1.00 | - | - | - | - |
WithoutFormat | 2.2 | 2.2 | 1.209 ns | 0.0107 ns | 0.0089 ns | 1.207 ns | 1.196 ns | 1.223 ns | 1.10 | - | - | - | - |
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NoThrowInline | 2.1 | .NET Core 2.1 | 1.816 ns | 0.0050 ns | 0.0039 ns | 1.815 ns | 1.810 ns | 1.822 ns | 1.00 | - | - | - | - |
NoThrowInline | 2.2 | 2.2 | 1.828 ns | 0.0176 ns | 0.0164 ns | 1.822 ns | 1.812 ns | 1.868 ns | 1.01 | - | - | - | - |
from performance.
Layout.SearchLoops
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LoopReturn | 2.1 | .NET Core 2.1 | 54.30 ns | 1.615 ns | 1.349 ns | 53.78 ns | 53.56 ns | 58.17 ns | 1.00 | 0.00 | - | - | - | - |
LoopReturn | 2.2 | 2.2 | 54.10 ns | 1.670 ns | 1.787 ns | 53.02 ns | 52.81 ns | 58.57 ns | 1.01 | 0.03 | - | - | - | - |
LoopGoto | 2.1 | .NET Core 2.1 | 54.78 ns | 1.095 ns | 1.076 ns | 54.16 ns | 53.97 ns | 56.62 ns | 1.00 | 0.00 | - | - | - | - |
LoopGoto | 2.2 | 2.2 | 54.22 ns | 1.690 ns | 1.735 ns | 53.63 ns | 53.43 ns | 59.29 ns | 0.99 | 0.03 | - | - | - | - |
from performance.
LINQ
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Where00LinqQueryX | 2.1 | .NET Core 2.1 | 882.5 ms | 3.4910 ms | 2.9151 ms | 881.6 ms | 880.2 ms | 891.0 ms | 1.00 | 0.00 | 11000.0000 | - | - | 72000000 B |
Where00LinqQueryX | 2.2 | 2.2 | 900.6 ms | 2.6139 ms | 2.1828 ms | 899.6 ms | 898.2 ms | 906.3 ms | 1.02 | 0.00 | 11000.0000 | - | - | 72000000 B |
Where00LinqMethodX | 2.1 | .NET Core 2.1 | 882.0 ms | 1.8391 ms | 1.5358 ms | 881.5 ms | 880.7 ms | 886.0 ms | 1.00 | 0.00 | 11000.0000 | - | - | 72000000 B |
Where00LinqMethodX | 2.2 | 2.2 | 900.3 ms | 1.3432 ms | 1.0486 ms | 899.9 ms | 899.0 ms | 901.8 ms | 1.02 | 0.00 | 11000.0000 | - | - | 72000000 B |
Where00ForX | 2.1 | .NET Core 2.1 | 444.8 ms | 10.0186 ms | 11.5375 ms | 437.8 ms | 434.0 ms | 471.6 ms | 1.00 | 0.00 | 28000.0000 | - | - | 184000000 B |
Where00ForX | 2.2 | 2.2 | 450.8 ms | 10.0178 ms | 11.1348 ms | 443.2 ms | 441.9 ms | 469.9 ms | 1.01 | 0.02 | 28000.0000 | - | - | 184000000 B |
Where01LinqQueryX | 2.1 | .NET Core 2.1 | 469.5 ms | 12.5518 ms | 14.4547 ms | 461.5 ms | 459.4 ms | 506.0 ms | 1.00 | 0.00 | 2000.0000 | - | - | 18000000 B |
Where01LinqQueryX | 2.2 | 2.2 | 467.6 ms | 12.4485 ms | 14.3357 ms | 459.8 ms | 457.3 ms | 510.1 ms | 1.00 | 0.02 | 2000.0000 | - | - | 18000000 B |
Where01LinqMethodX | 2.1 | .NET Core 2.1 | 476.6 ms | 10.3495 ms | 11.9185 ms | 468.5 ms | 466.0 ms | 499.5 ms | 1.00 | 0.00 | 2000.0000 | - | - | 18000000 B |
Where01LinqMethodX | 2.2 | 2.2 | 468.1 ms | 9.0388 ms | 9.2821 ms | 461.6 ms | 459.1 ms | 480.6 ms | 0.98 | 0.02 | 2000.0000 | - | - | 18000000 B |
Where01LinqMethodNestedX | 2.1 | .NET Core 2.1 | 547.8 ms | 11.0215 ms | 10.8246 ms | 542.9 ms | 541.1 ms | 570.8 ms | 1.00 | 0.00 | 9000.0000 | - | - | 60000000 B |
Where01LinqMethodNestedX | 2.2 | 2.2 | 543.3 ms | 13.5554 ms | 15.0668 ms | 535.7 ms | 533.3 ms | 577.4 ms | 0.99 | 0.02 | 9000.0000 | - | - | 60000000 B |
Where01ForX | 2.1 | .NET Core 2.1 | 393.8 ms | 8.0174 ms | 8.9113 ms | 387.3 ms | 386.0 ms | 405.4 ms | 1.00 | 0.00 | 3000.0000 | - | - | 24000000 B |
Where01ForX | 2.2 | 2.2 | 391.6 ms | 9.7869 ms | 11.2706 ms | 384.4 ms | 383.6 ms | 421.6 ms | 1.00 | 0.01 | 3000.0000 | - | - | 24000000 B |
Count00LinqMethodX | 2.1 | .NET Core 2.1 | 962.0 ms | 0.7680 ms | 0.5996 ms | 961.8 ms | 961.2 ms | 963.5 ms | 1.00 | 0.00 | 6000.0000 | - | - | 40000000 B |
Count00LinqMethodX | 2.2 | 2.2 | 946.8 ms | 1.3625 ms | 1.0637 ms | 946.6 ms | 945.7 ms | 949.6 ms | 0.98 | 0.00 | 6000.0000 | - | - | 40000000 B |
Count00ForX | 2.1 | .NET Core 2.1 | 335.6 ms | 7.6516 ms | 8.8116 ms | 340.8 ms | 325.2 ms | 352.8 ms | 1.00 | 0.00 | - | - | - | - |
Count00ForX | 2.2 | 2.2 | 351.4 ms | 9.0194 ms | 10.0251 ms | 357.8 ms | 341.5 ms | 375.6 ms | 1.05 | 0.02 | - | - | - | - |
Order00LinqQueryX | 2.1 | .NET Core 2.1 | 138.9 ms | 0.2385 ms | 0.2114 ms | 139.0 ms | 138.4 ms | 139.2 ms | 1.00 | 0.00 | 9000.0000 | - | - | 58600000 B |
Order00LinqQueryX | 2.2 | 2.2 | 141.8 ms | 0.1379 ms | 0.1151 ms | 141.8 ms | 141.7 ms | 142.0 ms | 1.02 | 0.00 | 9000.0000 | - | - | 58600000 B |
Order00LinqMethodX | 2.1 | .NET Core 2.1 | 138.3 ms | 0.1863 ms | 0.1652 ms | 138.3 ms | 138.1 ms | 138.6 ms | 1.00 | 0.00 | 9000.0000 | - | - | 58600000 B |
Order00LinqMethodX | 2.2 | 2.2 | 141.4 ms | 0.1844 ms | 0.1635 ms | 141.3 ms | 141.1 ms | 141.7 ms | 1.02 | 0.00 | 9000.0000 | - | - | 58600000 B |
Order00ManualX | 2.1 | .NET Core 2.1 | 206.2 ms | 6.1464 ms | 6.5765 ms | 208.6 ms | 199.6 ms | 223.4 ms | 1.00 | 0.00 | 2000.0000 | - | - | 16000000 B |
Order00ManualX | 2.2 | 2.2 | 219.4 ms | 14.2339 ms | 16.3918 ms | 213.5 ms | 202.9 ms | 251.0 ms | 1.07 | 0.09 | 2000.0000 | - | - | 16000000 B |
from performance.
Serializers.Binary
No significant difference.
Type | Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Binary_FromStream<CollectionsOfPrimitives> | BinaryFormatter | 2.1 | 2.1 | 1,425,863.2 ns | 6,173.3145 ns | 4,819.7179 ns | 1,424,280.1 ns | 1,422,335.4 ns | 1,439,874.2 ns | 1.00 | 0.00 | 102.2727 | 45.4545 | - | 655203 B |
Binary_FromStream<CollectionsOfPrimitives> | BinaryFormatter | 2.2 | 2.2 | 1,416,422.8 ns | 40,527.6579 ns | 43,364.1399 ns | 1,432,785.4 ns | 1,367,104.7 ns | 1,518,591.9 ns | 1.01 | 0.02 | 102.2727 | 45.4545 | - | 655203 B |
Binary_FromStream<IndexViewModel> | BinaryFormatter | 2.1 | 2.1 | 30,207.0 ns | 720.8189 ns | 801.1883 ns | 29,888.8 ns | 29,135.4 ns | 31,805.3 ns | 1.00 | 0.00 | 3.4590 | 0.1193 | - | 22059 B |
Binary_FromStream<IndexViewModel> | BinaryFormatter | 2.2 | 2.2 | 30,616.3 ns | 764.9281 ns | 880.8923 ns | 30,090.8 ns | 29,974.9 ns | 32,950.8 ns | 1.02 | 0.03 | 3.3886 | 0.1255 | - | 22059 B |
Binary_FromStream<Location> | BinaryFormatter | 2.1 | 2.1 | 5,621.3 ns | 11.7181 ns | 9.1487 ns | 5,620.2 ns | 5,607.6 ns | 5,637.1 ns | 1.00 | 0.00 | 1.0277 | - | - | 6608 B |
Binary_FromStream<Location> | BinaryFormatter | 2.2 | 2.2 | 5,909.8 ns | 149.6696 ns | 172.3597 ns | 5,807.2 ns | 5,774.8 ns | 6,374.3 ns | 1.06 | 0.03 | 1.0202 | - | - | 6608 B |
Binary_FromStream<LoginViewModel> | BinaryFormatter | 2.1 | 2.1 | 3,033.4 ns | 120.6399 ns | 134.0910 ns | 3,032.7 ns | 2,900.7 ns | 3,371.0 ns | 1.00 | 0.00 | 0.7542 | - | - | 4840 B |
Binary_FromStream<LoginViewModel> | BinaryFormatter | 2.2 | 2.2 | 3,235.6 ns | 78.7541 ns | 84.2660 ns | 3,180.8 ns | 3,166.5 ns | 3,421.1 ns | 1.07 | 0.04 | 0.7648 | - | - | 4840 B |
Binary_FromStream<MyEventsListerViewModel> | BinaryFormatter | 2.1 | 2.1 | 86,128.7 ns | 2,410.5283 ns | 2,475.4351 ns | 84,956.8 ns | 84,710.8 ns | 93,630.8 ns | 1.00 | 0.00 | 8.8277 | 0.3531 | - | 56382 B |
Binary_FromStream<MyEventsListerViewModel> | BinaryFormatter | 2.2 | 2.2 | 89,609.1 ns | 4,602.9496 ns | 5,300.7637 ns | 88,982.3 ns | 84,722.1 ns | 103,074.6 ns | 1.05 | 0.06 | 8.8315 | 0.6793 | - | 56384 B |
Binary_ToStream<CollectionsOfPrimitives> | BinaryFormatter | 2.1 | 2.1 | 1,399,231.2 ns | 47,241.9125 ns | 52,509.2606 ns | 1,408,726.9 ns | 1,341,510.5 ns | 1,506,057.4 ns | 1.00 | 0.00 | 73.8636 | 17.0455 | - | 491944 B |
Binary_ToStream<CollectionsOfPrimitives> | BinaryFormatter | 2.2 | 2.2 | 1,415,761.1 ns | 37,583.2251 ns | 43,280.8979 ns | 1,388,563.3 ns | 1,383,420.9 ns | 1,543,190.7 ns | 1.01 | 0.04 | 73.8636 | 17.0455 | - | 491944 B |
Binary_ToStream<IndexViewModel> | BinaryFormatter | 2.1 | 2.1 | 19,390.8 ns | 739.0299 ns | 790.7537 ns | 19,466.8 ns | 18,619.0 ns | 21,405.2 ns | 1.00 | 0.00 | 1.6427 | - | - | 10721 B |
Binary_ToStream<IndexViewModel> | BinaryFormatter | 2.2 | 2.2 | 19,235.0 ns | 647.8844 ns | 720.1218 ns | 19,200.4 ns | 18,535.0 ns | 20,818.9 ns | 0.99 | 0.03 | 1.6325 | - | - | 10721 B |
Binary_ToStream<Location> | BinaryFormatter | 2.1 | 2.1 | 5,500.0 ns | 130.5292 ns | 145.0828 ns | 5,426.8 ns | 5,374.6 ns | 5,923.3 ns | 1.00 | 0.00 | 0.6747 | - | - | 4344 B |
Binary_ToStream<Location> | BinaryFormatter | 2.2 | 2.2 | 5,374.6 ns | 101.2622 ns | 99.4530 ns | 5,330.8 ns | 5,315.0 ns | 5,584.0 ns | 0.97 | 0.02 | 0.6677 | - | - | 4344 B |
Binary_ToStream<LoginViewModel> | BinaryFormatter | 2.1 | 2.1 | 2,962.1 ns | 100.4534 ns | 115.6823 ns | 2,931.8 ns | 2,851.9 ns | 3,229.1 ns | 1.00 | 0.00 | 0.5594 | - | - | 3560 B |
Binary_ToStream<LoginViewModel> | BinaryFormatter | 2.2 | 2.2 | 3,007.6 ns | 79.5708 ns | 88.4427 ns | 2,957.5 ns | 2,933.0 ns | 3,271.7 ns | 1.02 | 0.02 | 0.5514 | - | - | 3560 B |
Binary_ToStream<MyEventsListerViewModel> | BinaryFormatter | 2.1 | 2.1 | 54,530.2 ns | 1,219.6144 ns | 1,252.4542 ns | 54,065.9 ns | 53,183.8 ns | 56,137.6 ns | 1.00 | 0.00 | 3.7811 | - | - | 25474 B |
Binary_ToStream<MyEventsListerViewModel> | BinaryFormatter | 2.2 | 2.2 | 54,238.3 ns | 1,731.9337 ns | 1,853.1497 ns | 53,158.4 ns | 52,936.3 ns | 59,027.4 ns | 1.00 | 0.03 | 3.7946 | - | - | 25474 B |
Binary_FromStream<CollectionsOfPrimitives> | protobuf-net | 2.1 | 2.1 | 299,226.0 ns | 7,969.2191 ns | 8,526.9751 ns | 295,276.7 ns | 294,596.3 ns | 326,872.6 ns | 1.00 | 0.00 | 42.0272 | 16.0692 | - | 271744 B |
Binary_FromStream<CollectionsOfPrimitives> | protobuf-net | 2.2 | 2.2 | 303,864.1 ns | 8,386.4429 ns | 8,973.3999 ns | 297,803.3 ns | 294,693.0 ns | 318,936.6 ns | 1.02 | 0.03 | 41.6667 | 15.9314 | - | 271744 B |
Binary_FromStream<IndexViewModel> | protobuf-net | 2.1 | 2.1 | 82,075.9 ns | 2,476.9031 ns | 2,543.5971 ns | 82,770.9 ns | 78,136.2 ns | 87,590.3 ns | 1.00 | 0.00 | 5.7990 | - | - | 37032 B |
Binary_FromStream<IndexViewModel> | protobuf-net | 2.2 | 2.2 | 79,906.7 ns | 2,031.3865 ns | 2,339.3477 ns | 80,832.8 ns | 77,006.8 ns | 86,416.5 ns | 0.98 | 0.04 | 5.5052 | - | - | 37032 B |
Binary_FromStream<Location> | protobuf-net | 2.1 | 2.1 | 1,465.2 ns | 56.6539 ns | 60.6191 ns | 1,425.2 ns | 1,415.2 ns | 1,621.1 ns | 1.00 | 0.00 | 0.2315 | - | - | 1480 B |
Binary_FromStream<Location> | protobuf-net | 2.2 | 2.2 | 1,499.3 ns | 50.5192 ns | 56.1520 ns | 1,486.6 ns | 1,444.3 ns | 1,629.9 ns | 1.03 | 0.03 | 0.2307 | - | - | 1480 B |
Binary_FromStream<LoginViewModel> | protobuf-net | 2.1 | 2.1 | 696.9 ns | 18.2753 ns | 20.3130 ns | 687.5 ns | 683.3 ns | 758.2 ns | 1.00 | 0.00 | 0.0609 | - | - | 392 B |
Binary_FromStream<LoginViewModel> | protobuf-net | 2.2 | 2.2 | 701.7 ns | 23.2835 ns | 25.8795 ns | 685.0 ns | 682.1 ns | 761.1 ns | 1.01 | 0.03 | 0.0604 | - | - | 392 B |
Binary_FromStream<MyEventsListerViewModel> | protobuf-net | 2.1 | 2.1 | 1,123,721.0 ns | 31,428.2964 ns | 36,192.8728 ns | 1,134,945.9 ns | 1,080,578.3 ns | 1,210,556.3 ns | 1.00 | 0.00 | 49.1071 | 4.4643 | - | 318840 B |
Binary_FromStream<MyEventsListerViewModel> | protobuf-net | 2.2 | 2.2 | 1,081,971.1 ns | 31,962.1323 ns | 35,525.8253 ns | 1,055,363.7 ns | 1,050,791.4 ns | 1,167,266.9 ns | 0.96 | 0.03 | 45.8333 | 4.1667 | - | 318840 B |
Binary_ToStream<CollectionsOfPrimitives> | protobuf-net | 2.1 | 2.1 | 173,250.3 ns | 4,190.3551 ns | 4,657.5685 ns | 176,406.5 ns | 167,986.4 ns | 181,435.1 ns | 1.00 | 0.00 | - | - | - | 152 B |
Binary_ToStream<CollectionsOfPrimitives> | protobuf-net | 2.2 | 2.2 | 176,768.7 ns | 4,763.9612 ns | 5,295.1303 ns | 173,188.6 ns | 172,127.5 ns | 188,388.8 ns | 1.02 | 0.02 | - | - | - | 152 B |
Binary_ToStream<IndexViewModel> | protobuf-net | 2.1 | 2.1 | 31,427.6 ns | 582.7238 ns | 545.0802 ns | 31,214.2 ns | 31,079.9 ns | 32,689.1 ns | 1.00 | 0.00 | 1.6940 | - | - | 11504 B |
Binary_ToStream<IndexViewModel> | protobuf-net | 2.2 | 2.2 | 31,320.3 ns | 159.5366 ns | 124.5557 ns | 31,283.2 ns | 31,225.7 ns | 31,687.4 ns | 0.99 | 0.02 | 1.7011 | - | - | 11504 B |
Binary_ToStream<Location> | protobuf-net | 2.1 | 2.1 | 616.3 ns | 20.1308 ns | 22.3754 ns | 601.2 ns | 590.6 ns | 670.1 ns | 1.00 | 0.00 | 0.0229 | - | - | 152 B |
Binary_ToStream<Location> | protobuf-net | 2.2 | 2.2 | 600.3 ns | 14.9978 ns | 16.0474 ns | 588.9 ns | 586.9 ns | 627.8 ns | 0.97 | 0.03 | 0.0236 | - | - | 152 B |
Binary_ToStream<LoginViewModel> | protobuf-net | 2.1 | 2.1 | 300.1 ns | 7.8068 ns | 8.9903 ns | 294.0 ns | 292.6 ns | 326.1 ns | 1.00 | 0.00 | 0.0233 | - | - | 152 B |
Binary_ToStream<LoginViewModel> | protobuf-net | 2.2 | 2.2 | 294.8 ns | 8.4435 ns | 9.0344 ns | 289.6 ns | 288.9 ns | 320.0 ns | 0.98 | 0.03 | 0.0231 | - | - | 152 B |
Binary_ToStream<MyEventsListerViewModel> | protobuf-net | 2.1 | 2.1 | 427,143.9 ns | 14,126.2075 ns | 15,114.8837 ns | 417,924.4 ns | 416,741.3 ns | 463,059.2 ns | 1.00 | 0.00 | 26.2238 | - | - | 169264 B |
Binary_ToStream<MyEventsListerViewModel> | protobuf-net | 2.2 | 2.2 | 422,986.7 ns | 12,319.2981 ns | 13,692.8672 ns | 427,538.9 ns | 408,050.4 ns | 449,814.0 ns | 0.99 | 0.04 | 24.8566 | - | - | 169264 B |
Binary_FromStream<CollectionsOfPrimitives> | ZeroFormatter_Naive | 2.1 | 2.1 | 194.0 ns | 12.4069 ns | 14.2878 ns | 184.9 ns | 183.6 ns | 222.6 ns | 1.00 | 0.00 | 0.0759 | - | - | 480 B |
Binary_FromStream<CollectionsOfPrimitives> | ZeroFormatter_Naive | 2.2 | 2.2 | 184.7 ns | 3.7194 ns | 3.6530 ns | 182.7 ns | 182.3 ns | 191.1 ns | 0.94 | 0.06 | 0.0756 | - | - | 480 B |
Binary_FromStream<IndexViewModel> | ZeroFormatter_Naive | 2.1 | 2.1 | 311.6 ns | 6.0032 ns | 6.4234 ns | 308.4 ns | 307.1 ns | 324.6 ns | 1.00 | 0.00 | 0.1261 | - | - | 800 B |
Binary_FromStream<IndexViewModel> | ZeroFormatter_Naive | 2.2 | 2.2 | 321.2 ns | 11.0643 ns | 11.3622 ns | 316.5 ns | 316.0 ns | 359.0 ns | 1.03 | 0.03 | 0.1261 | - | - | 800 B |
Binary_FromStream<Location> | ZeroFormatter_Naive | 2.1 | 2.1 | 285.8 ns | 7.0406 ns | 8.1079 ns | 280.1 ns | 277.8 ns | 304.3 ns | 1.00 | 0.00 | 0.1296 | - | - | 824 B |
Binary_FromStream<Location> | ZeroFormatter_Naive | 2.2 | 2.2 | 287.3 ns | 4.8687 ns | 3.8012 ns | 285.7 ns | 284.9 ns | 297.3 ns | 0.99 | 0.03 | 0.1296 | - | - | 824 B |
Binary_FromStream<LoginViewModel> | ZeroFormatter_Naive | 2.1 | 2.1 | 129.9 ns | 2.5876 ns | 2.6573 ns | 128.4 ns | 127.8 ns | 133.9 ns | 1.00 | 0.00 | 0.0514 | - | - | 328 B |
Binary_FromStream<LoginViewModel> | ZeroFormatter_Naive | 2.2 | 2.2 | 131.6 ns | 3.2647 ns | 3.4932 ns | 129.6 ns | 128.3 ns | 140.2 ns | 1.01 | 0.02 | 0.0517 | - | - | 328 B |
Binary_FromStream<MyEventsListerViewModel> | ZeroFormatter_Naive | 2.1 | 2.1 | 180.5 ns | 0.8852 ns | 0.6911 ns | 180.8 ns | 179.3 ns | 181.6 ns | 1.00 | 0.00 | 0.0821 | - | - | 520 B |
Binary_FromStream<MyEventsListerViewModel> | ZeroFormatter_Naive | 2.2 | 2.2 | 182.2 ns | 6.1942 ns | 6.6278 ns | 178.0 ns | 177.2 ns | 199.4 ns | 1.02 | 0.04 | 0.0823 | - | - | 520 B |
Binary_ToStream<CollectionsOfPrimitives> | ZeroFormatter | 2.1 | 2.1 | 203,109.6 ns | 4,910.6410 ns | 5,254.3308 ns | 200,329.6 ns | 199,893.4 ns | 218,687.9 ns | 1.00 | 0.00 | 18.8324 | 0.9416 | - | 123256 B |
Binary_ToStream<CollectionsOfPrimitives> | ZeroFormatter | 2.2 | 2.2 | 209,270.6 ns | 5,690.2642 ns | 6,324.7135 ns | 212,700.4 ns | 203,379.8 ns | 226,744.5 ns | 1.03 | 0.03 | 18.6599 | 0.8482 | - | 123256 B |
Binary_ToStream<IndexViewModel> | ZeroFormatter | 2.1 | 2.1 | 11,989.2 ns | 245.1441 ns | 262.3015 ns | 11,835.9 ns | 11,816.3 ns | 12,637.9 ns | 1.00 | 0.00 | 7.0388 | 0.0984 | - | 44632 B |
Binary_ToStream<IndexViewModel> | ZeroFormatter | 2.2 | 2.2 | 11,718.8 ns | 257.1587 ns | 275.1569 ns | 11,611.0 ns | 11,456.2 ns | 12,357.3 ns | 0.98 | 0.02 | 7.0669 | 0.0556 | - | 44632 B |
Binary_ToStream<Location> | ZeroFormatter | 2.1 | 2.1 | 446.7 ns | 0.8908 ns | 0.7438 ns | 446.5 ns | 445.9 ns | 448.3 ns | 1.00 | 0.00 | 0.0806 | - | - | 512 B |
Binary_ToStream<Location> | ZeroFormatter | 2.2 | 2.2 | 456.6 ns | 13.9622 ns | 15.5189 ns | 445.4 ns | 443.7 ns | 488.1 ns | 1.03 | 0.04 | 0.0803 | - | - | 512 B |
Binary_ToStream<LoginViewModel> | ZeroFormatter | 2.1 | 2.1 | 226.1 ns | 5.6320 ns | 6.2599 ns | 222.0 ns | 220.3 ns | 242.2 ns | 1.00 | 0.00 | 0.0655 | - | - | 416 B |
Binary_ToStream<LoginViewModel> | ZeroFormatter | 2.2 | 2.2 | 220.9 ns | 4.2565 ns | 3.7733 ns | 219.0 ns | 218.4 ns | 228.5 ns | 0.97 | 0.02 | 0.0657 | - | - | 416 B |
Binary_ToStream<MyEventsListerViewModel> | ZeroFormatter | 2.1 | 2.1 | 81,915.5 ns | 1,575.6088 ns | 1,396.7362 ns | 82,569.9 ns | 79,154.6 ns | 82,846.4 ns | 1.00 | 0.00 | 25.7937 | 1.9841 | - | 164896 B |
Binary_ToStream<MyEventsListerViewModel> | ZeroFormatter | 2.2 | 2.2 | 78,526.2 ns | 1,029.0356 ns | 803.4033 ns | 78,218.5 ns | 78,074.9 ns | 80,964.4 ns | 0.95 | 0.01 | 25.9994 | 1.9500 | - | 164896 B |
Binary_FromStream<CollectionsOfPrimitives> | ZeroFormatter_Real | 2.1 | 2.1 | 93,824.7 ns | 93.1326 ns | 82.5596 ns | 93,823.1 ns | 93,726.9 ns | 93,957.3 ns | 1.00 | 0.00 | 12.1094 | 2.3438 | - | 77880 B |
Binary_FromStream<CollectionsOfPrimitives> | ZeroFormatter_Real | 2.2 | 2.2 | 94,417.8 ns | 5,477.7688 ns | 6,088.5255 ns | 93,098.0 ns | 88,965.1 ns | 107,414.3 ns | 1.03 | 0.06 | 12.0482 | 2.2590 | - | 77880 B |
Binary_FromStream<IndexViewModel> | ZeroFormatter_Real | 2.1 | 2.1 | 17,468.0 ns | 378.7675 ns | 405.2770 ns | 17,158.0 ns | 17,076.3 ns | 18,058.7 ns | 1.00 | 0.00 | 5.1429 | 0.4286 | - | 32664 B |
Binary_FromStream<IndexViewModel> | ZeroFormatter_Real | 2.2 | 2.2 | 17,512.1 ns | 335.8060 ns | 359.3086 ns | 17,567.3 ns | 17,068.4 ns | 17,916.5 ns | 1.00 | 0.01 | 5.1311 | 0.4276 | - | 32664 B |
Binary_FromStream<Location> | ZeroFormatter_Real | 2.1 | 2.1 | 720.3 ns | 14.2961 ns | 14.0406 ns | 712.3 ns | 709.6 ns | 744.3 ns | 1.00 | 0.00 | 0.1911 | - | - | 1224 B |
Binary_FromStream<Location> | ZeroFormatter_Real | 2.2 | 2.2 | 705.8 ns | 24.7252 ns | 26.4557 ns | 688.7 ns | 686.3 ns | 768.3 ns | 0.98 | 0.04 | 0.1918 | - | - | 1224 B |
Binary_FromStream<LoginViewModel> | ZeroFormatter_Real | 2.1 | 2.1 | 287.6 ns | 7.2998 ns | 8.1137 ns | 282.0 ns | 280.8 ns | 309.9 ns | 1.00 | 0.00 | 0.0730 | - | - | 464 B |
Binary_FromStream<LoginViewModel> | ZeroFormatter_Real | 2.2 | 2.2 | 276.7 ns | 1.4101 ns | 1.1009 ns | 276.3 ns | 275.6 ns | 279.2 ns | 0.95 | 0.03 | 0.0732 | - | - | 464 B |
Binary_FromStream<MyEventsListerViewModel> | ZeroFormatter_Real | 2.1 | 2.1 | 157,079.6 ns | 10,231.9083 ns | 11,783.0809 ns | 153,545.4 ns | 145,636.0 ns | 182,570.4 ns | 1.00 | 0.00 | 26.3480 | 7.9657 | - | 167176 B |
Binary_FromStream<MyEventsListerViewModel> | ZeroFormatter_Real | 2.2 | 2.2 | 153,877.9 ns | 2,627.0345 ns | 2,051.0157 ns | 154,519.6 ns | 147,758.8 ns | 155,505.7 ns | 0.95 | 0.06 | 26.3480 | 7.9657 | - | 167176 B |
Binary_ToStream<CollectionsOfPrimitives> | MessagePack | 2.1 | 2.1 | 194,840.8 ns | 5,056.2839 ns | 5,620.0461 ns | 190,339.5 ns | 189,910.3 ns | 208,982.8 ns | 1.00 | 0.00 | - | - | - | - |
Binary_ToStream<CollectionsOfPrimitives> | MessagePack | 2.2 | 2.2 | 195,694.7 ns | 5,064.8008 ns | 5,832.6321 ns | 191,953.4 ns | 191,327.3 ns | 213,714.1 ns | 1.01 | 0.02 | - | - | - | - |
Binary_ToStream<IndexViewModel> | MessagePack | 2.1 | 2.1 | 9,844.3 ns | 241.3384 ns | 225.7481 ns | 9,747.3 ns | 9,723.3 ns | 10,524.0 ns | 1.00 | 0.00 | - | - | - | - |
Binary_ToStream<IndexViewModel> | MessagePack | 2.2 | 2.2 | 9,686.7 ns | 270.1259 ns | 300.2442 ns | 9,512.6 ns | 9,491.1 ns | 10,509.5 ns | 0.99 | 0.03 | - | - | - | - |
Binary_ToStream<Location> | MessagePack | 2.1 | 2.1 | 419.7 ns | 12.0970 ns | 13.4458 ns | 411.4 ns | 409.4 ns | 454.6 ns | 1.00 | 0.00 | - | - | - | - |
Binary_ToStream<Location> | MessagePack | 2.2 | 2.2 | 403.0 ns | 10.5026 ns | 12.0948 ns | 395.1 ns | 393.9 ns | 438.0 ns | 0.96 | 0.02 | - | - | - | - |
Binary_ToStream<LoginViewModel> | MessagePack | 2.1 | 2.1 | 151.1 ns | 3.8444 ns | 4.4272 ns | 149.0 ns | 147.7 ns | 164.6 ns | 1.00 | 0.00 | - | - | - | - |
Binary_ToStream<LoginViewModel> | MessagePack | 2.2 | 2.2 | 161.8 ns | 4.4314 ns | 4.9254 ns | 158.5 ns | 157.9 ns | 175.1 ns | 1.07 | 0.03 | - | - | - | - |
Binary_ToStream<MyEventsListerViewModel> | MessagePack | 2.1 | 2.1 | 78,485.3 ns | 1,456.8185 ns | 1,291.4317 ns | 79,042.0 ns | 75,499.0 ns | 79,128.6 ns | 1.00 | 0.00 | - | - | - | - |
Binary_ToStream<MyEventsListerViewModel> | MessagePack | 2.2 | 2.2 | 77,361.2 ns | 2,001.1935 ns | 2,141.2546 ns | 78,376.9 ns | 74,866.7 ns | 82,038.3 ns | 0.99 | 0.02 | - | - | - | - |
Binary_FromStream<CollectionsOfPrimitives> | MessagePack | 2.1 | 2.1 | 80,734.0 ns | 407.9747 ns | 318.5198 ns | 80,586.1 ns | 80,436.8 ns | 81,325.6 ns | 1.00 | 0.00 | 12.0968 | 3.0242 | - | 77448 B |
Binary_FromStream<CollectionsOfPrimitives> | MessagePack | 2.2 | 2.2 | 84,971.7 ns | 2,714.1649 ns | 3,016.7871 ns | 83,020.7 ns | 82,652.5 ns | 92,759.1 ns | 1.07 | 0.04 | 12.0856 | 2.7624 | - | 77448 B |
Binary_FromStream<IndexViewModel> | MessagePack | 2.1 | 2.1 | 13,543.2 ns | 333.0532 ns | 370.1877 ns | 13,525.5 ns | 13,167.7 ns | 14,394.7 ns | 1.00 | 0.00 | 3.4722 | 0.3858 | - | 22208 B |
Binary_FromStream<IndexViewModel> | MessagePack | 2.2 | 2.2 | 13,161.7 ns | 367.5553 ns | 393.2800 ns | 13,173.0 ns | 12,775.1 ns | 13,980.2 ns | 0.97 | 0.02 | 3.5074 | 0.4025 | - | 22208 B |
Binary_FromStream<Location> | MessagePack | 2.1 | 2.1 | 467.9 ns | 12.2800 ns | 13.6492 ns | 459.6 ns | 457.4 ns | 507.3 ns | 1.00 | 0.00 | 0.0757 | - | - | 488 B |
Binary_FromStream<Location> | MessagePack | 2.2 | 2.2 | 465.3 ns | 10.1792 ns | 11.3142 ns | 457.7 ns | 455.1 ns | 488.4 ns | 0.99 | 0.02 | 0.0768 | - | - | 488 B |
Binary_FromStream<LoginViewModel> | MessagePack | 2.1 | 2.1 | 174.0 ns | 3.5080 ns | 3.7536 ns | 171.4 ns | 170.9 ns | 179.2 ns | 1.00 | 0.00 | 0.0277 | - | - | 176 B |
Binary_FromStream<LoginViewModel> | MessagePack | 2.2 | 2.2 | 171.3 ns | 6.2493 ns | 6.6867 ns | 170.9 ns | 165.0 ns | 189.5 ns | 0.98 | 0.03 | 0.0276 | - | - | 176 B |
Binary_FromStream<MyEventsListerViewModel> | MessagePack | 2.1 | 2.1 | 103,603.0 ns | 2,154.1346 ns | 2,394.3149 ns | 101,831.4 ns | 101,348.6 ns | 106,579.1 ns | 1.00 | 0.00 | 12.2466 | 2.9561 | - | 78112 B |
Binary_FromStream<MyEventsListerViewModel> | MessagePack | 2.2 | 2.2 | 104,458.3 ns | 2,052.9775 ns | 1,920.3564 ns | 103,632.3 ns | 103,262.7 ns | 108,541.8 ns | 1.00 | 0.02 | 12.0690 | 3.0172 | - | 78112 B |
from performance.
Serializers.JSON
No significant difference. Some benchmarks shows difference, but it's gone after a benchmark re-run.
Type | Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Json_FromStream<CollectionsOfPrimitives> | Jil | 2.1 | 2.1 | 304,122.0 ns | 18,676.072 ns | 21,507.393 ns | 300,131.3 ns | 286,541.9 ns | 346,254.2 ns | 1.00 | 0.00 | 26.3761 | 8.0275 | - | 175200 B |
Json_FromStream<CollectionsOfPrimitives> | Jil | 2.2 | 2.2 | 324,218.6 ns | 7,944.712 ns | 9,149.142 ns | 328,886.3 ns | 314,672.5 ns | 344,387.9 ns | 1.07 | 0.05 | 26.3852 | 7.9156 | - | 175200 B |
Json_FromStream<IndexViewModel> | Jil | 2.1 | 2.1 | 62,195.7 ns | 1,531.515 ns | 1,702.275 ns | 63,117.7 ns | 60,276.1 ns | 66,136.4 ns | 1.00 | 0.00 | 4.3136 | 0.5075 | - | 27832 B |
Json_FromStream<IndexViewModel> | Jil | 2.2 | 2.2 | 61,651.0 ns | 1,653.131 ns | 1,837.451 ns | 60,571.7 ns | 60,298.2 ns | 67,189.6 ns | 0.99 | 0.03 | 4.3114 | 0.5072 | - | 27832 B |
Json_FromStream<Location> | Jil | 2.1 | 2.1 | 1,437.3 ns | 28.571 ns | 30.571 ns | 1,419.7 ns | 1,407.3 ns | 1,482.9 ns | 1.00 | 0.00 | 0.6054 | 0.0059 | - | 3856 B |
Json_FromStream<Location> | Jil | 2.2 | 2.2 | 1,418.4 ns | 27.723 ns | 24.576 ns | 1,406.0 ns | 1,404.0 ns | 1,469.7 ns | 0.98 | 0.02 | 0.6054 | 0.0059 | - | 3856 B |
Json_FromStream<LoginViewModel> | Jil | 2.1 | 2.1 | 794.2 ns | 27.329 ns | 29.241 ns | 780.0 ns | 776.8 ns | 865.4 ns | 1.00 | 0.00 | 0.5616 | 0.0032 | - | 3544 B |
Json_FromStream<LoginViewModel> | Jil | 2.2 | 2.2 | 791.6 ns | 17.269 ns | 18.478 ns | 801.2 ns | 768.8 ns | 831.6 ns | 1.00 | 0.04 | 0.5598 | 0.0032 | - | 3544 B |
Json_FromStream<MyEventsListerViewModel> | Jil | 2.1 | 2.1 | 378,810.5 ns | 6,981.120 ns | 6,530.144 ns | 376,121.2 ns | 375,435.8 ns | 395,457.2 ns | 1.00 | 0.00 | 12.5786 | 3.1447 | - | 89208 B |
Json_FromStream<MyEventsListerViewModel> | Jil | 2.2 | 2.2 | 389,727.3 ns | 10,317.902 ns | 11,882.111 ns | 382,686.6 ns | 380,134.5 ns | 420,840.8 ns | 1.04 | 0.03 | 13.0081 | 3.2520 | - | 89208 B |
Json_FromString<CollectionsOfPrimitives> | Jil | 2.1 | 2.1 | 238,559.6 ns | 4,627.122 ns | 5,143.034 ns | 235,351.7 ns | 234,729.6 ns | 246,169.9 ns | 1.00 | 0.00 | 26.5748 | 8.8583 | - | 171928 B |
Json_FromString<CollectionsOfPrimitives> | Jil | 2.2 | 2.2 | 243,192.6 ns | 6,092.682 ns | 7,016.342 ns | 246,506.7 ns | 235,516.7 ns | 262,394.2 ns | 1.02 | 0.03 | 26.6535 | 8.8845 | - | 171928 B |
Json_FromString<IndexViewModel> | Jil | 2.1 | 2.1 | 46,815.2 ns | 876.673 ns | 777.148 ns | 46,494.5 ns | 45,792.4 ns | 48,912.0 ns | 1.00 | 0.00 | 3.7900 | 0.3790 | - | 24560 B |
Json_FromString<IndexViewModel> | Jil | 2.2 | 2.2 | 47,328.8 ns | 1,341.840 ns | 1,435.754 ns | 47,757.0 ns | 45,574.1 ns | 50,866.6 ns | 1.01 | 0.03 | 3.8139 | 0.3814 | - | 24560 B |
Json_FromString<Location> | Jil | 2.1 | 2.1 | 862.8 ns | 23.994 ns | 26.669 ns | 875.1 ns | 836.7 ns | 930.6 ns | 1.00 | 0.00 | 0.0912 | - | - | 584 B |
Json_FromString<Location> | Jil | 2.2 | 2.2 | 877.4 ns | 17.426 ns | 17.115 ns | 870.0 ns | 867.9 ns | 917.8 ns | 1.01 | 0.03 | 0.0910 | - | - | 584 B |
Json_FromString<LoginViewModel> | Jil | 2.1 | 2.1 | 370.3 ns | 7.407 ns | 8.233 ns | 370.0 ns | 361.3 ns | 384.9 ns | 1.00 | 0.00 | 0.0424 | - | - | 272 B |
Json_FromString<LoginViewModel> | Jil | 2.2 | 2.2 | 375.9 ns | 7.507 ns | 8.344 ns | 369.7 ns | 368.3 ns | 386.9 ns | 1.02 | 0.02 | 0.0418 | - | - | 272 B |
Json_FromString<MyEventsListerViewModel> | Jil | 2.1 | 2.1 | 297,146.2 ns | 8,399.552 ns | 9,336.080 ns | 292,371.8 ns | 290,475.8 ns | 324,732.1 ns | 1.00 | 0.00 | 13.2212 | 2.4038 | - | 85936 B |
Json_FromString<MyEventsListerViewModel> | Jil | 2.2 | 2.2 | 303,289.5 ns | 7,686.701 ns | 8,852.017 ns | 307,833.3 ns | 293,407.4 ns | 322,338.3 ns | 1.02 | 0.03 | 12.1507 | 2.4301 | - | 85936 B |
Json_ToStream<CollectionsOfPrimitives> | Jil | 2.1 | 2.1 | 316,424.3 ns | 5,164.148 ns | 4,577.883 ns | 317,605.5 ns | 308,197.1 ns | 321,597.0 ns | 1.00 | 0.00 | - | - | - | 96 B |
Json_ToStream<CollectionsOfPrimitives> | Jil | 2.2 | 2.2 | 488,696.2 ns | 259,207.634 ns | 298,503.897 ns | 324,590.5 ns | 310,477.9 ns | 1,000,999.0 ns | 1.46 | 0.93 | - | - | - | 96 B |
Json_ToStream<IndexViewModel> | Jil | 2.1 | 2.1 | 53,436.6 ns | 794.976 ns | 704.725 ns | 53,314.4 ns | 52,174.0 ns | 54,454.8 ns | 1.00 | 0.00 | - | - | - | 96 B |
Json_ToStream<IndexViewModel> | Jil | 2.2 | 2.2 | 50,287.9 ns | 782.775 ns | 653.653 ns | 50,178.3 ns | 49,608.0 ns | 51,318.7 ns | 0.94 | 0.01 | - | - | - | 96 B |
Json_ToStream<Location> | Jil | 2.1 | 2.1 | 5,488.2 ns | 2,940.159 ns | 3,385.892 ns | 4,419.1 ns | 2,280.8 ns | 14,255.2 ns | 1.00 | 0.00 | - | - | - | 96 B |
Json_ToStream<Location> | Jil | 2.2 | 2.2 | 3,056.9 ns | 651.434 ns | 697.027 ns | 2,565.9 ns | 2,280.8 ns | 4,561.7 ns | 0.83 | 0.50 | - | - | - | 96 B |
Json_ToStream<LoginViewModel> | Jil | 2.1 | 2.1 | 1,647.3 ns | 234.002 ns | 250.380 ns | 1,568.1 ns | 1,425.5 ns | 1,995.7 ns | 1.00 | 0.00 | - | - | - | - |
Json_ToStream<LoginViewModel> | Jil | 2.2 | 2.2 | 2,971.1 ns | 994.597 ns | 1,105.492 ns | 3,136.1 ns | 1,425.5 ns | 4,561.7 ns | 1.83 | 0.75 | - | - | - | - |
Json_ToStream<MyEventsListerViewModel> | Jil | 2.1 | 2.1 | 600,102.5 ns | 5,196.403 ns | 4,606.476 ns | 599,715.6 ns | 593,871.0 ns | 609,551.7 ns | 1.00 | 0.00 | - | - | - | 246624 B |
Json_ToStream<MyEventsListerViewModel> | Jil | 2.2 | 2.2 | 561,084.0 ns | 2,134.997 ns | 1,666.865 ns | 561,226.6 ns | 559,088.3 ns | 563,650.0 ns | 0.93 | 0.01 | - | - | - | 246624 B |
Json_ToString<CollectionsOfPrimitives> | Jil | 2.1 | 2.1 | 394,412.4 ns | 8,051.294 ns | 9,271.882 ns | 395,866.5 ns | 384,319.8 ns | 416,821.6 ns | 1.00 | 0.00 | - | - | - | 190528 B |
Json_ToString<CollectionsOfPrimitives> | Jil | 2.2 | 2.2 | 394,214.5 ns | 7,657.936 ns | 7,864.137 ns | 391,447.4 ns | 385,460.2 ns | 410,549.3 ns | 1.00 | 0.02 | - | - | - | 190528 B |
Json_ToString<IndexViewModel> | Jil | 2.1 | 2.1 | 59,087.7 ns | 5,735.562 ns | 6,605.082 ns | 57,590.9 ns | 49,608.0 ns | 69,280.2 ns | 1.00 | 0.00 | - | - | - | 58008 B |
Json_ToString<IndexViewModel> | Jil | 2.2 | 2.2 | 51,076.3 ns | 6,380.115 ns | 7,347.350 ns | 47,612.3 ns | 42,195.3 ns | 65,003.6 ns | 0.86 | 0.06 | - | - | - | 58008 B |
Json_ToString<Location> | Jil | 2.1 | 2.1 | 6,329.3 ns | 2,144.182 ns | 2,469.243 ns | 7,412.7 ns | 3,136.1 ns | 9,693.5 ns | 1.00 | 0.00 | - | - | - | 1392 B |
Json_ToString<Location> | Jil | 2.2 | 2.2 | 3,466.3 ns | 429.753 ns | 477.669 ns | 3,136.1 ns | 3,136.1 ns | 4,276.6 ns | 0.66 | 0.32 | - | - | - | 1392 B |
Json_ToString<LoginViewModel> | Jil | 2.1 | 2.1 | 2,400.9 ns | 312.001 ns | 346.788 ns | 2,280.8 ns | 1,995.7 ns | 3,136.1 ns | 1.00 | 0.00 | - | - | - | 736 B |
Json_ToString<LoginViewModel> | Jil | 2.2 | 2.2 | 2,385.9 ns | 344.248 ns | 382.631 ns | 2,280.8 ns | 1,995.7 ns | 3,136.1 ns | 1.00 | 0.10 | - | - | - | 736 B |
Json_ToString<MyEventsListerViewModel> | Jil | 2.1 | 2.1 | 885,489.2 ns | 443,655.925 ns | 510,914.823 ns | 597,434.8 ns | 590,734.8 ns | 1,760,515.2 ns | 1.00 | 0.00 | - | - | - | 531824 B |
Json_ToString<MyEventsListerViewModel> | Jil | 2.2 | 2.2 | 547,500.9 ns | 5,959.215 ns | 5,282.689 ns | 546,971.4 ns | 542,267.2 ns | 559,943.6 ns | 0.70 | 0.30 | - | - | - | 531824 B |
Json_FromStream<CollectionsOfPrimitives> | JSON.NET | 2.1 | 2.1 | 725,043.7 ns | 14,877.348 ns | 16,536.133 ns | 714,512.4 ns | 710,799.2 ns | 746,569.9 ns | 1.00 | 0.00 | 47.7612 | 14.9254 | - | 310672 B |
Json_FromStream<CollectionsOfPrimitives> | JSON.NET | 2.2 | 2.2 | 739,519.5 ns | 16,471.067 ns | 18,307.548 ns | 726,242.0 ns | 722,896.8 ns | 768,524.6 ns | 1.02 | 0.01 | 48.4848 | 15.1515 | - | 310672 B |
Json_FromStream<IndexViewModel> | JSON.NET | 2.1 | 2.1 | 82,719.8 ns | 2,152.457 ns | 2,392.450 ns | 82,871.1 ns | 80,116.7 ns | 89,407.0 ns | 1.00 | 0.00 | 5.4825 | 0.7310 | - | 35592 B |
Json_FromStream<IndexViewModel> | JSON.NET | 2.2 | 2.2 | 80,415.3 ns | 1,966.457 ns | 2,264.575 ns | 79,087.9 ns | 78,777.6 ns | 86,931.5 ns | 0.97 | 0.02 | 5.2805 | 0.6601 | - | 35592 B |
Json_FromStream<Location> | JSON.NET | 2.1 | 2.1 | 3,572.7 ns | 6.361 ns | 5.312 ns | 3,570.4 ns | 3,567.1 ns | 3,586.7 ns | 1.00 | 0.00 | 0.9639 | 0.0151 | - | 6112 B |
Json_FromStream<Location> | JSON.NET | 2.2 | 2.2 | 3,486.3 ns | 90.530 ns | 104.254 ns | 3,418.7 ns | 3,391.9 ns | 3,785.3 ns | 0.99 | 0.03 | 0.9536 | 0.0142 | - | 6112 B |
Json_FromStream<LoginViewModel> | JSON.NET | 2.1 | 2.1 | 1,556.5 ns | 6.722 ns | 5.248 ns | 1,556.0 ns | 1,546.2 ns | 1,570.0 ns | 1.00 | 0.00 | 0.9155 | 0.0064 | - | 5800 B |
Json_FromStream<LoginViewModel> | JSON.NET | 2.2 | 2.2 | 1,633.1 ns | 37.772 ns | 37.097 ns | 1,616.0 ns | 1,609.5 ns | 1,731.9 ns | 1.05 | 0.03 | 0.9196 | 0.0067 | - | 5800 B |
Json_FromStream<MyEventsListerViewModel> | JSON.NET | 2.1 | 2.1 | 850,160.1 ns | 20,019.875 ns | 23,054.917 ns | 860,921.7 ns | 822,883.9 ns | 910,117.8 ns | 1.00 | 0.00 | 24.1379 | 6.8966 | - | 163480 B |
Json_FromStream<MyEventsListerViewModel> | JSON.NET | 2.2 | 2.2 | 881,307.2 ns | 23,791.281 ns | 25,456.405 ns | 892,521.1 ns | 851,767.6 ns | 946,015.7 ns | 1.03 | 0.01 | 25.0000 | 7.1429 | - | 163480 B |
Json_FromString<CollectionsOfPrimitives> | JSON.NET | 2.1 | 2.1 | 715,560.3 ns | 21,438.157 ns | 22,938.588 ns | 704,472.1 ns | 694,068.7 ns | 774,956.7 ns | 1.00 | 0.00 | 46.6472 | 14.5773 | - | 307656 B |
Json_FromString<CollectionsOfPrimitives> | JSON.NET | 2.2 | 2.2 | 711,847.9 ns | 14,222.637 ns | 15,808.423 ns | 700,179.7 ns | 695,903.2 ns | 730,698.3 ns | 1.00 | 0.02 | 46.6472 | 14.5773 | - | 307656 B |
Json_FromString<IndexViewModel> | JSON.NET | 2.1 | 2.1 | 73,046.9 ns | 225.749 ns | 176.250 ns | 72,976.7 ns | 72,918.6 ns | 73,530.3 ns | 1.00 | 0.00 | 4.9231 | 0.6154 | - | 32576 B |
Json_FromString<IndexViewModel> | JSON.NET | 2.2 | 2.2 | 77,947.5 ns | 3,806.784 ns | 4,383.899 ns | 76,711.4 ns | 73,573.6 ns | 87,596.0 ns | 1.10 | 0.06 | 4.8077 | 0.3205 | - | 32576 B |
Json_FromString<Location> | JSON.NET | 2.1 | 2.1 | 3,151.6 ns | 62.653 ns | 55.540 ns | 3,123.1 ns | 3,117.1 ns | 3,266.7 ns | 1.00 | 0.00 | 0.4837 | - | - | 3096 B |
Json_FromString<Location> | JSON.NET | 2.2 | 2.2 | 3,059.0 ns | 61.926 ns | 68.831 ns | 3,013.9 ns | 2,989.5 ns | 3,147.6 ns | 0.98 | 0.02 | 0.4786 | - | - | 3096 B |
Json_FromString<LoginViewModel> | JSON.NET | 2.1 | 2.1 | 1,471.6 ns | 37.427 ns | 41.600 ns | 1,443.2 ns | 1,438.0 ns | 1,576.2 ns | 1.00 | 0.00 | 0.4364 | - | - | 2784 B |
Json_FromString<LoginViewModel> | JSON.NET | 2.2 | 2.2 | 1,499.0 ns | 28.855 ns | 29.632 ns | 1,497.1 ns | 1,463.6 ns | 1,559.6 ns | 1.02 | 0.02 | 0.4393 | - | - | 2784 B |
Json_FromString<MyEventsListerViewModel> | JSON.NET | 2.1 | 2.1 | 812,195.2 ns | 16,133.896 ns | 14,302.278 ns | 816,520.9 ns | 779,227.9 ns | 827,619.3 ns | 1.00 | 0.00 | 23.1023 | 3.3003 | - | 160464 B |
Json_FromString<MyEventsListerViewModel> | JSON.NET | 2.2 | 2.2 | 851,113.7 ns | 30,080.354 ns | 33,434.234 ns | 833,935.2 ns | 830,413.6 ns | 933,471.2 ns | 1.06 | 0.04 | 24.3902 | 3.4843 | - | 160464 B |
Json_ToStream<CollectionsOfPrimitives> | JSON.NET | 2.1 | 2.1 | 504,674.6 ns | 12,842.730 ns | 14,789.707 ns | 511,638.2 ns | 489,331.8 ns | 545,135.2 ns | 1.00 | 0.00 | 16.4609 | - | - | 107664 B |
Json_ToStream<CollectionsOfPrimitives> | JSON.NET | 2.2 | 2.2 | 505,672.6 ns | 6,869.327 ns | 6,089.480 ns | 507,171.7 ns | 484,562.3 ns | 507,972.1 ns | 0.99 | 0.02 | 16.2272 | - | - | 107664 B |
Json_ToStream<IndexViewModel> | JSON.NET | 2.1 | 2.1 | 47,454.2 ns | 975.509 ns | 1,043.784 ns | 46,762.0 ns | 46,593.6 ns | 49,093.9 ns | 1.00 | 0.00 | 0.1865 | - | - | 2464 B |
Json_ToStream<IndexViewModel> | JSON.NET | 2.2 | 2.2 | 47,494.5 ns | 1,213.106 ns | 1,348.364 ns | 46,854.6 ns | 46,597.7 ns | 51,611.6 ns | 1.00 | 0.02 | 0.1950 | - | - | 2464 B |
Json_ToStream<Location> | JSON.NET | 2.1 | 2.1 | 1,689.5 ns | 38.132 ns | 42.384 ns | 1,664.9 ns | 1,656.2 ns | 1,783.3 ns | 1.00 | 0.00 | 0.0694 | - | - | 456 B |
Json_ToStream<Location> | JSON.NET | 2.2 | 2.2 | 1,676.7 ns | 39.558 ns | 43.968 ns | 1,649.3 ns | 1,645.6 ns | 1,777.8 ns | 0.99 | 0.00 | 0.0692 | - | - | 456 B |
Json_ToStream<LoginViewModel> | JSON.NET | 2.1 | 2.1 | 761.4 ns | 18.649 ns | 21.476 ns | 749.2 ns | 746.6 ns | 820.4 ns | 1.00 | 0.00 | 0.0686 | - | - | 456 B |
Json_ToStream<LoginViewModel> | JSON.NET | 2.2 | 2.2 | 745.1 ns | 14.877 ns | 15.918 ns | 734.8 ns | 733.5 ns | 771.7 ns | 0.98 | 0.01 | 0.0707 | - | - | 456 B |
Json_ToStream<MyEventsListerViewModel> | JSON.NET | 2.1 | 2.1 | 936,026.3 ns | 17,789.424 ns | 15,769.861 ns | 941,840.5 ns | 900,694.2 ns | 948,665.8 ns | 1.00 | 0.00 | 41.5094 | - | - | 269792 B |
Json_ToStream<MyEventsListerViewModel> | JSON.NET | 2.2 | 2.2 | 900,660.7 ns | 14,120.538 ns | 11,791.289 ns | 903,448.3 ns | 861,584.3 ns | 906,054.3 ns | 0.96 | 0.01 | 39.7112 | - | - | 269792 B |
Json_ToString<CollectionsOfPrimitives> | JSON.NET | 2.1 | 2.1 | 523,278.5 ns | 8,948.611 ns | 7,472.495 ns | 525,884.2 ns | 503,191.2 ns | 527,605.1 ns | 1.00 | 0.00 | 56.8421 | 29.4737 | 29.4737 | 318800 B |
Json_ToString<CollectionsOfPrimitives> | JSON.NET | 2.2 | 2.2 | 526,227.9 ns | 7,985.101 ns | 7,078.584 ns | 528,458.0 ns | 505,596.7 ns | 530,008.3 ns | 1.01 | 0.01 | 57.0825 | 29.5983 | 29.5983 | 318800 B |
Json_ToString<IndexViewModel> | JSON.NET | 2.1 | 2.1 | 46,794.3 ns | 199.024 ns | 155.385 ns | 46,789.8 ns | 46,499.8 ns | 47,092.4 ns | 1.00 | 0.00 | 9.4815 | 1.4121 | - | 60768 B |
Json_ToString<IndexViewModel> | JSON.NET | 2.2 | 2.2 | 48,275.5 ns | 955.253 ns | 1,022.110 ns | 47,615.3 ns | 47,413.1 ns | 49,771.6 ns | 1.04 | 0.02 | 9.5012 | 1.3856 | - | 60768 B |
Json_ToString<Location> | JSON.NET | 2.1 | 2.1 | 1,724.3 ns | 2.891 ns | 2.257 ns | 1,724.9 ns | 1,720.8 ns | 1,728.1 ns | 1.00 | 0.00 | 0.2744 | - | - | 1744 B |
Json_ToString<Location> | JSON.NET | 2.2 | 2.2 | 1,726.9 ns | 43.793 ns | 48.676 ns | 1,708.1 ns | 1,690.7 ns | 1,879.3 ns | 1.00 | 0.03 | 0.2689 | - | - | 1744 B |
Json_ToString<LoginViewModel> | JSON.NET | 2.1 | 2.1 | 826.4 ns | 18.321 ns | 20.363 ns | 814.5 ns | 812.5 ns | 886.3 ns | 1.00 | 0.00 | 0.2393 | - | - | 1512 B |
Json_ToString<LoginViewModel> | JSON.NET | 2.2 | 2.2 | 791.1 ns | 20.327 ns | 22.594 ns | 779.0 ns | 777.1 ns | 862.4 ns | 0.96 | 0.02 | 0.2373 | - | - | 1512 B |
Json_ToString<MyEventsListerViewModel> | JSON.NET | 2.1 | 2.1 | 942,359.6 ns | 21,058.719 ns | 18,668.006 ns | 937,590.8 ns | 932,038.6 ns | 1,005,568.5 ns | 1.00 | 0.00 | 86.2745 | 43.1373 | 43.1373 | 578256 B |
Json_ToString<MyEventsListerViewModel> | JSON.NET | 2.2 | 2.2 | 930,082.0 ns | 27,260.824 ns | 31,393.606 ns | 916,888.6 ns | 902,351.0 ns | 1,007,782.5 ns | 1.00 | 0.04 | 90.2256 | 45.1128 | 45.1128 | 578240 B |
Json_FromStream<CollectionsOfPrimitives> | Utf8Json | 2.1 | 2.1 | 339,258.2 ns | 4,901.299 ns | 4,344.873 ns | 340,645.8 ns | 326,441.0 ns | 342,156.6 ns | 1.00 | 0.00 | 26.8817 | 8.0645 | - | 179544 B |
Json_FromStream<CollectionsOfPrimitives> | Utf8Json | 2.2 | 2.2 | 333,887.3 ns | 3,857.541 ns | 3,221.221 ns | 334,572.8 ns | 323,239.2 ns | 335,697.6 ns | 0.98 | 0.00 | 28.1124 | 8.0321 | - | 179544 B |
Json_FromStream<IndexViewModel> | Utf8Json | 2.1 | 2.1 | 53,766.7 ns | 1,386.099 ns | 1,540.645 ns | 52,720.7 ns | 52,464.4 ns | 58,268.1 ns | 1.00 | 0.00 | 3.5049 | 0.4381 | - | 22600 B |
Json_FromStream<IndexViewModel> | Utf8Json | 2.2 | 2.2 | 47,639.6 ns | 1,273.946 ns | 1,467.078 ns | 48,018.5 ns | 46,147.0 ns | 51,602.2 ns | 0.89 | 0.03 | 3.4870 | 0.3874 | - | 22600 B |
Json_FromStream<Location> | Utf8Json | 2.1 | 2.1 | 1,083.9 ns | 34.184 ns | 37.995 ns | 1,061.3 ns | 1,052.4 ns | 1,184.6 ns | 1.00 | 0.00 | 0.0752 | - | - | 488 B |
Json_FromStream<Location> | Utf8Json | 2.2 | 2.2 | 1,054.4 ns | 32.423 ns | 37.338 ns | 1,064.3 ns | 1,015.4 ns | 1,139.8 ns | 0.98 | 0.04 | 0.0729 | - | - | 488 B |
Json_FromStream<LoginViewModel> | Utf8Json | 2.1 | 2.1 | 425.3 ns | 10.406 ns | 10.220 ns | 420.4 ns | 417.6 ns | 453.1 ns | 1.00 | 0.00 | 0.0265 | - | - | 176 B |
Json_FromStream<LoginViewModel> | Utf8Json | 2.2 | 2.2 | 438.4 ns | 14.385 ns | 15.392 ns | 428.3 ns | 426.6 ns | 472.7 ns | 1.03 | 0.03 | 0.0271 | - | - | 176 B |
Json_FromStream<MyEventsListerViewModel> | Utf8Json | 2.1 | 2.1 | 395,128.1 ns | 10,712.264 ns | 11,462.003 ns | 389,461.6 ns | 387,042.8 ns | 428,803.3 ns | 1.00 | 0.00 | 16.2075 | 3.2415 | - | 111184 B |
Json_FromStream<MyEventsListerViewModel> | Utf8Json | 2.2 | 2.2 | 381,261.3 ns | 9,329.981 ns | 10,370.249 ns | 375,541.9 ns | 374,275.0 ns | 411,412.6 ns | 0.97 | 0.03 | 17.2414 | 4.7022 | - | 111184 B |
Json_FromString<CollectionsOfPrimitives> | Utf8Json | 2.1 | 2.1 | 349,487.2 ns | 9,366.222 ns | 10,410.531 ns | 343,546.7 ns | 341,826.6 ns | 380,184.9 ns | 1.00 | 0.00 | 34.4828 | 10.0575 | - | 228360 B |
Json_FromString<CollectionsOfPrimitives> | Utf8Json | 2.2 | 2.2 | 349,054.5 ns | 8,148.860 ns | 8,719.189 ns | 344,421.3 ns | 343,371.0 ns | 371,963.2 ns | 1.00 | 0.03 | 34.6320 | 10.1010 | - | 228360 B |
Json_FromString<IndexViewModel> | Utf8Json | 2.1 | 2.1 | 53,017.8 ns | 1,037.301 ns | 1,152.958 ns | 52,371.7 ns | 52,019.7 ns | 54,921.4 ns | 1.00 | 0.00 | 5.4490 | 0.4359 | - | 35184 B |
Json_FromString<IndexViewModel> | Utf8Json | 2.2 | 2.2 | 52,359.3 ns | 227.107 ns | 177.310 ns | 52,309.8 ns | 52,193.5 ns | 52,856.9 ns | 0.98 | 0.02 | 5.4348 | 0.4181 | - | 35184 B |
Json_FromString<Location> | Utf8Json | 2.1 | 2.1 | 1,262.5 ns | 75.837 ns | 87.334 ns | 1,231.1 ns | 1,192.3 ns | 1,446.9 ns | 1.00 | 0.00 | 0.1104 | - | - | 712 B |
Json_FromString<Location> | Utf8Json | 2.2 | 2.2 | 1,214.3 ns | 32.009 ns | 32.870 ns | 1,212.7 ns | 1,179.2 ns | 1,307.0 ns | 0.96 | 0.07 | 0.1089 | - | - | 712 B |
Json_FromString<LoginViewModel> | Utf8Json | 2.1 | 2.1 | 500.5 ns | 14.647 ns | 15.672 ns | 490.1 ns | 488.4 ns | 543.1 ns | 1.00 | 0.00 | 0.0437 | - | - | 288 B |
Json_FromString<LoginViewModel> | Utf8Json | 2.2 | 2.2 | 486.3 ns | 8.877 ns | 7.413 ns | 484.2 ns | 483.5 ns | 510.9 ns | 0.96 | 0.03 | 0.0450 | - | - | 288 B |
Json_FromString<MyEventsListerViewModel> | Utf8Json | 2.1 | 2.1 | 452,364.1 ns | 8,589.732 ns | 9,190.917 ns | 447,465.2 ns | 445,400.6 ns | 470,012.0 ns | 1.00 | 0.00 | 27.9851 | 7.4627 | - | 184560 B |
Json_FromString<MyEventsListerViewModel> | Utf8Json | 2.2 | 2.2 | 445,263.4 ns | 6,466.595 ns | 5,732.468 ns | 446,454.0 ns | 426,594.7 ns | 449,589.1 ns | 0.98 | 0.02 | 28.6225 | 7.1556 | - | 184560 B |
Json_ToStream<CollectionsOfPrimitives> | Utf8Json | 2.1 | 2.1 | 318,547.3 ns | 1,592.985 ns | 1,243.698 ns | 317,981.1 ns | 317,506.4 ns | 321,807.6 ns | 1.00 | 0.00 | - | - | - | 2768 B |
Json_ToStream<CollectionsOfPrimitives> | Utf8Json | 2.2 | 2.2 | 321,580.5 ns | 6,388.259 ns | 6,560.272 ns | 325,319.3 ns | 311,883.3 ns | 327,705.0 ns | 1.01 | 0.02 | - | - | - | 2768 B |
Json_ToStream<IndexViewModel> | Utf8Json | 2.1 | 2.1 | 32,845.1 ns | 885.513 ns | 1,019.758 ns | 32,746.1 ns | 31,845.7 ns | 35,462.3 ns | 1.00 | 0.00 | - | - | - | - |
Json_ToStream<IndexViewModel> | Utf8Json | 2.2 | 2.2 | 27,015.0 ns | 671.787 ns | 746.690 ns | 26,586.1 ns | 26,426.5 ns | 29,064.8 ns | 0.82 | 0.03 | - | - | - | - |
Json_ToStream<Location> | Utf8Json | 2.1 | 2.1 | 451.1 ns | 11.637 ns | 12.934 ns | 442.4 ns | 439.8 ns | 486.5 ns | 1.00 | 0.00 | - | - | - | - |
Json_ToStream<Location> | Utf8Json | 2.2 | 2.2 | 430.5 ns | 10.591 ns | 12.196 ns | 423.3 ns | 419.8 ns | 453.6 ns | 0.96 | 0.02 | - | - | - | - |
Json_ToStream<LoginViewModel> | Utf8Json | 2.1 | 2.1 | 200.7 ns | 4.295 ns | 4.773 ns | 198.0 ns | 197.6 ns | 212.1 ns | 1.00 | 0.00 | - | - | - | - |
Json_ToStream<LoginViewModel> | Utf8Json | 2.2 | 2.2 | 191.2 ns | 4.307 ns | 4.609 ns | 187.9 ns | 186.8 ns | 198.5 ns | 0.95 | 0.02 | - | - | - | - |
Json_ToStream<MyEventsListerViewModel> | Utf8Json | 2.1 | 2.1 | 753,272.5 ns | 22,921.961 ns | 25,477.699 ns | 756,169.0 ns | 719,818.7 ns | 810,799.5 ns | 1.00 | 0.00 | 39.2749 | 39.2749 | 39.2749 | 370712 B |
Json_ToStream<MyEventsListerViewModel> | Utf8Json | 2.2 | 2.2 | 719,206.1 ns | 18,950.090 ns | 21,062.975 ns | 730,236.3 ns | 698,976.7 ns | 777,450.0 ns | 0.96 | 0.03 | 41.2979 | 41.2979 | 41.2979 | 370712 B |
Json_ToString<CollectionsOfPrimitives> | Utf8Json | 2.1 | 2.1 | 355,214.6 ns | 9,741.344 ns | 10,827.478 ns | 359,885.8 ns | 343,328.0 ns | 382,189.5 ns | 1.00 | 0.00 | 30.2158 | 30.2158 | 30.2158 | 100376 B |
Json_ToString<CollectionsOfPrimitives> | Utf8Json | 2.2 | 2.2 | 347,145.0 ns | 9,228.193 ns | 9,874.063 ns | 342,364.8 ns | 341,812.3 ns | 374,532.7 ns | 0.98 | 0.03 | 30.0860 | 30.0860 | 30.0860 | 100376 B |
Json_ToString<IndexViewModel> | Utf8Json | 2.1 | 2.1 | 38,253.8 ns | 752.164 ns | 866.193 ns | 38,285.4 ns | 36,962.4 ns | 40,280.8 ns | 1.00 | 0.00 | 3.8911 | 0.1556 | - | 25136 B |
Json_ToString<IndexViewModel> | Utf8Json | 2.2 | 2.2 | 38,284.0 ns | 1,139.674 ns | 1,219.438 ns | 37,531.2 ns | 37,092.6 ns | 40,561.4 ns | 1.00 | 0.04 | 3.8670 | 0.1547 | - | 25136 B |
Json_ToString<Location> | Utf8Json | 2.1 | 2.1 | 564.3 ns | 13.521 ns | 14.468 ns | 555.8 ns | 552.7 ns | 601.9 ns | 1.00 | 0.00 | 0.0649 | - | - | 424 B |
Json_ToString<Location> | Utf8Json | 2.2 | 2.2 | 550.5 ns | 10.793 ns | 10.600 ns | 546.6 ns | 540.1 ns | 569.0 ns | 0.97 | 0.02 | 0.0657 | - | - | 424 B |
Json_ToString<LoginViewModel> | Utf8Json | 2.1 | 2.1 | 258.5 ns | 6.763 ns | 7.517 ns | 253.8 ns | 252.9 ns | 278.3 ns | 1.00 | 0.00 | 0.0296 | - | - | 192 B |
Json_ToString<LoginViewModel> | Utf8Json | 2.2 | 2.2 | 240.8 ns | 4.776 ns | 5.309 ns | 236.8 ns | 235.6 ns | 249.1 ns | 0.93 | 0.02 | 0.0299 | - | - | 192 B |
Json_ToString<MyEventsListerViewModel> | Utf8Json | 2.1 | 2.1 | 740,750.4 ns | 14,081.948 ns | 14,461.124 ns | 736,129.2 ns | 730,963.2 ns | 780,618.6 ns | 1.00 | 0.00 | 86.3787 | 86.3787 | 86.3787 | 517432 B |
Json_ToString<MyEventsListerViewModel> | Utf8Json | 2.2 | 2.2 | 759,103.6 ns | 25,792.467 ns | 28,668.259 ns | 739,993.9 ns | 733,818.4 ns | 821,446.1 ns | 1.03 | 0.04 | 83.9416 | 83.9416 | 83.9416 | 517432 B |
Json_FromStream<CollectionsOfPrimitives> | DataContractJsonSerializer | 2.1 | 2.1 | 4,368,004.1 ns | 118,690.854 ns | 131,924.570 ns | 4,290,322.7 ns | 4,268,525.7 ns | 4,732,064.2 ns | 1.00 | 0.00 | 125.0000 | 31.2500 | - | 835496 B |
Json_FromStream<CollectionsOfPrimitives> | DataContractJsonSerializer | 2.2 | 2.2 | 4,340,251.0 ns | 105,401.521 ns | 108,239.602 ns | 4,278,140.6 ns | 4,264,647.1 ns | 4,585,673.9 ns | 0.99 | 0.02 | 125.0000 | 31.2500 | - | 835496 B |
Json_FromStream<IndexViewModel> | DataContractJsonSerializer | 2.1 | 2.1 | 368,175.6 ns | 2,029.407 ns | 1,799.016 ns | 368,003.8 ns | 365,037.1 ns | 371,661.0 ns | 1.00 | 0.00 | 13.7195 | 1.5244 | - | 95128 B |
Json_FromStream<IndexViewModel> | DataContractJsonSerializer | 2.2 | 2.2 | 385,418.0 ns | 18,044.488 ns | 20,780.059 ns | 387,324.1 ns | 359,394.0 ns | 436,183.6 ns | 1.07 | 0.05 | 14.0625 | 1.5625 | - | 95128 B |
Json_FromStream<Location> | DataContractJsonSerializer | 2.1 | 2.1 | 11,350.4 ns | 304.815 ns | 338.801 ns | 11,132.8 ns | 11,009.7 ns | 12,210.1 ns | 1.00 | 0.00 | 1.9358 | 0.0461 | - | 12376 B |
Json_FromStream<Location> | DataContractJsonSerializer | 2.2 | 2.2 | 11,303.7 ns | 214.696 ns | 200.826 ns | 11,242.7 ns | 11,132.7 ns | 11,798.4 ns | 0.99 | 0.03 | 1.9296 | 0.0471 | - | 12376 B |
Json_FromStream<LoginViewModel> | DataContractJsonSerializer | 2.1 | 2.1 | 4,982.6 ns | 125.636 ns | 129.019 ns | 4,898.2 ns | 4,870.9 ns | 5,291.4 ns | 1.00 | 0.00 | 1.7817 | 0.0405 | - | 11344 B |
Json_FromStream<LoginViewModel> | DataContractJsonSerializer | 2.2 | 2.2 | 4,770.6 ns | 101.823 ns | 104.565 ns | 4,706.1 ns | 4,661.8 ns | 4,907.9 ns | 0.96 | 0.01 | 1.7946 | 0.0390 | - | 11344 B |
Json_FromStream<MyEventsListerViewModel> | DataContractJsonSerializer | 2.1 | 2.1 | 3,935,524.1 ns | 77,362.071 ns | 64,600.833 ns | 3,945,287.6 ns | 3,736,412.4 ns | 4,001,172.6 ns | 1.00 | 0.00 | 80.6452 | 16.1290 | - | 616304 B |
Json_FromStream<MyEventsListerViewModel> | DataContractJsonSerializer | 2.2 | 2.2 | 3,847,116.3 ns | 51,692.505 ns | 45,824.059 ns | 3,841,978.2 ns | 3,737,687.2 ns | 3,926,925.9 ns | 0.98 | 0.02 | 92.3077 | 15.3846 | - | 616304 B |
Json_ToStream<CollectionsOfPrimitives> | DataContractJsonSerializer | 2.1 | 2.1 | 1,926,519.0 ns | 57,044.245 ns | 63,404.527 ns | 1,946,786.7 ns | 1,859,742.5 ns | 2,070,584.5 ns | 1.00 | 0.00 | 7.8740 | - | - | 79024 B |
Json_ToStream<CollectionsOfPrimitives> | DataContractJsonSerializer | 2.2 | 2.2 | 1,759,662.2 ns | 47,756.510 ns | 53,081.234 ns | 1,733,149.4 ns | 1,725,073.5 ns | 1,915,793.4 ns | 0.91 | 0.03 | 7.2464 | - | - | 79024 B |
Json_ToStream<IndexViewModel> | DataContractJsonSerializer | 2.1 | 2.1 | 108,491.3 ns | 2,317.127 ns | 2,275.728 ns | 107,554.5 ns | 106,780.7 ns | 113,410.8 ns | 1.00 | 0.00 | - | - | - | 2432 B |
Json_ToStream<IndexViewModel> | DataContractJsonSerializer | 2.2 | 2.2 | 108,020.9 ns | 3,304.128 ns | 3,805.039 ns | 105,486.9 ns | 104,736.8 ns | 117,953.2 ns | 1.00 | 0.04 | - | - | - | 2432 B |
Json_ToStream<Location> | DataContractJsonSerializer | 2.1 | 2.1 | 3,065.2 ns | 83.815 ns | 96.521 ns | 3,091.4 ns | 2,949.7 ns | 3,277.9 ns | 1.00 | 0.00 | 0.1499 | - | - | 1008 B |
Json_ToStream<Location> | DataContractJsonSerializer | 2.2 | 2.2 | 3,034.0 ns | 109.444 ns | 117.104 ns | 2,971.8 ns | 2,940.5 ns | 3,336.0 ns | 0.99 | 0.04 | 0.1488 | - | - | 1008 B |
Json_ToStream<LoginViewModel> | DataContractJsonSerializer | 2.1 | 2.1 | 1,318.8 ns | 32.345 ns | 37.249 ns | 1,299.3 ns | 1,289.3 ns | 1,415.9 ns | 1.00 | 0.00 | 0.1567 | - | - | 1008 B |
Json_ToStream<LoginViewModel> | DataContractJsonSerializer | 2.2 | 2.2 | 1,338.3 ns | 34.486 ns | 39.714 ns | 1,311.6 ns | 1,304.4 ns | 1,443.1 ns | 1.02 | 0.03 | 0.1587 | - | - | 1008 B |
Json_ToStream<MyEventsListerViewModel> | DataContractJsonSerializer | 2.1 | 2.1 | 1,088,181.7 ns | 17,752.401 ns | 15,737.041 ns | 1,090,969.2 ns | 1,034,786.3 ns | 1,100,516.4 ns | 1.00 | 0.00 | - | - | - | 24192 B |
Json_ToStream<MyEventsListerViewModel> | DataContractJsonSerializer | 2.2 | 2.2 | 1,043,027.1 ns | 30,484.981 ns | 33,883.976 ns | 1,024,529.7 ns | 1,014,664.7 ns | 1,131,768.6 ns | 0.97 | 0.03 | - | - | - | 24192 B |
from performance.
Serializers.XML
No significant difference.
Type | Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Xml_FromStream<ClassImplementingIXmlSerialiable> | XmlSerializer | 2.1 | 2.1 | 3,795.9 ns | 101.667 ns | 108.782 ns | 3,743.0 ns | 3,720.7 ns | 4,144.5 ns | 1.00 | 0.00 | 0.6841 | - | - | 4.31 KB |
Xml_FromStream<ClassImplementingIXmlSerialiable> | XmlSerializer | 2.2 | 2.2 | 3,780.6 ns | 121.089 ns | 129.564 ns | 3,762.3 ns | 3,647.4 ns | 4,062.7 ns | 1.00 | 0.03 | 0.6967 | - | - | 4.31 KB |
Xml_FromStream<CollectionsOfPrimitives> | XmlSerializer | 2.1 | 2.1 | 999,384.4 ns | 30,804.110 ns | 34,238.686 ns | 1,010,887.3 ns | 965,220.8 ns | 1,084,136.4 ns | 1.00 | 0.00 | 25.0000 | - | - | 173.96 KB |
Xml_FromStream<CollectionsOfPrimitives> | XmlSerializer | 2.2 | 2.2 | 1,011,412.0 ns | 17,086.538 ns | 13,340.045 ns | 1,007,136.9 ns | 1,003,351.6 ns | 1,050,285.6 ns | 0.99 | 0.02 | 25.0000 | - | - | 173.96 KB |
Xml_FromStream<IndexViewModel> | XmlSerializer | 2.1 | 2.1 | 148,114.0 ns | 3,795.079 ns | 4,218.220 ns | 145,369.2 ns | 144,477.4 ns | 158,134.0 ns | 1.00 | 0.00 | 10.3155 | 1.2136 | - | 66.19 KB |
Xml_FromStream<IndexViewModel> | XmlSerializer | 2.2 | 2.2 | 147,653.5 ns | 2,867.119 ns | 3,186.795 ns | 146,043.0 ns | 145,542.5 ns | 154,499.2 ns | 1.00 | 0.02 | 10.3976 | 1.2232 | - | 66.19 KB |
Xml_FromStream<Location> | XmlSerializer | 2.1 | 2.1 | 9,487.6 ns | 212.386 ns | 188.275 ns | 9,405.7 ns | 9,356.8 ns | 9,915.7 ns | 1.00 | 0.00 | 1.0979 | - | - | 7 KB |
Xml_FromStream<Location> | XmlSerializer | 2.2 | 2.2 | 9,467.3 ns | 38.806 ns | 30.297 ns | 9,466.8 ns | 9,391.6 ns | 9,520.8 ns | 1.00 | 0.02 | 1.1139 | - | - | 7 KB |
Xml_FromStream<LoginViewModel> | XmlSerializer | 2.1 | 2.1 | 6,855.8 ns | 126.166 ns | 118.016 ns | 6,820.2 ns | 6,773.4 ns | 7,142.8 ns | 1.00 | 0.00 | 0.9382 | - | - | 5.95 KB |
Xml_FromStream<LoginViewModel> | XmlSerializer | 2.2 | 2.2 | 7,051.0 ns | 223.277 ns | 238.904 ns | 6,903.5 ns | 6,843.6 ns | 7,645.0 ns | 1.03 | 0.03 | 0.9603 | - | - | 5.95 KB |
Xml_FromStream<MyEventsListerViewModel> | XmlSerializer | 2.1 | 2.1 | 1,855,326.4 ns | 53,171.132 ns | 61,231.955 ns | 1,815,037.4 ns | 1,802,865.2 ns | 2,024,841.7 ns | 1.00 | 0.00 | 85.2713 | 23.2558 | - | 536.98 KB |
Xml_FromStream<MyEventsListerViewModel> | XmlSerializer | 2.2 | 2.2 | 1,927,516.1 ns | 53,514.995 ns | 57,260.445 ns | 1,934,468.2 ns | 1,849,832.2 ns | 2,058,225.3 ns | 1.04 | 0.04 | 85.2713 | 23.2558 | - | 536.98 KB |
Xml_FromStream<SimpleStructWithProperties> | XmlSerializer | 2.1 | 2.1 | 6,180.1 ns | 147.126 ns | 157.423 ns | 6,105.0 ns | 6,074.1 ns | 6,622.8 ns | 1.00 | 0.00 | 0.8177 | - | - | 5.13 KB |
Xml_FromStream<SimpleStructWithProperties> | XmlSerializer | 2.2 | 2.2 | 6,152.0 ns | 17.119 ns | 13.366 ns | 6,150.9 ns | 6,133.9 ns | 6,175.9 ns | 0.99 | 0.03 | 0.8044 | - | - | 5.13 KB |
Xml_FromStream<XmlElement> | XmlSerializer | 2.1 | 2.1 | 4,941.2 ns | 322.734 ns | 371.661 ns | 4,690.3 ns | 4,607.1 ns | 5,622.6 ns | 1.00 | 0.00 | 0.9484 | 0.0186 | - | 5.93 KB |
Xml_FromStream<XmlElement> | XmlSerializer | 2.2 | 2.2 | 4,681.0 ns | 121.924 ns | 140.408 ns | 4,602.2 ns | 4,562.7 ns | 5,102.5 ns | 0.95 | 0.05 | 0.9600 | 0.0200 | - | 5.93 KB |
Xml_ToStream<ClassImplementingIXmlSerialiable> | XmlSerializer | 2.1 | 2.1 | 1,391.5 ns | 40.934 ns | 45.498 ns | 1,365.0 ns | 1,356.0 ns | 1,500.1 ns | 1.00 | 0.00 | 1.1400 | 0.0227 | - | 7.02 KB |
Xml_ToStream<ClassImplementingIXmlSerialiable> | XmlSerializer | 2.2 | 2.2 | 1,398.7 ns | 34.142 ns | 37.949 ns | 1,375.5 ns | 1,368.9 ns | 1,499.1 ns | 1.01 | 0.02 | 1.1390 | 0.0229 | - | 7.02 KB |
Xml_ToStream<CollectionsOfPrimitives> | XmlSerializer | 2.1 | 2.1 | 596,533.2 ns | 15,408.420 ns | 16,486.837 ns | 584,531.4 ns | 581,977.1 ns | 636,652.7 ns | 1.00 | 0.00 | 70.6522 | - | - | 453.91 KB |
Xml_ToStream<CollectionsOfPrimitives> | XmlSerializer | 2.2 | 2.2 | 592,791.0 ns | 1,194.702 ns | 997.630 ns | 592,530.5 ns | 591,501.8 ns | 594,885.3 ns | 0.99 | 0.03 | 72.1154 | - | - | 453.91 KB |
Xml_ToStream<IndexViewModel> | XmlSerializer | 2.1 | 2.1 | 51,159.9 ns | 1,781.905 ns | 1,487.971 ns | 50,673.7 ns | 50,319.1 ns | 55,717.5 ns | 1.00 | 0.00 | 1.6892 | - | - | 10.97 KB |
Xml_ToStream<IndexViewModel> | XmlSerializer | 2.2 | 2.2 | 52,828.8 ns | 2,821.035 ns | 3,248.708 ns | 52,263.1 ns | 49,857.2 ns | 60,498.3 ns | 1.06 | 0.07 | 1.6667 | - | - | 10.97 KB |
Xml_ToStream<Location> | XmlSerializer | 2.1 | 2.1 | 3,753.1 ns | 125.337 ns | 139.311 ns | 3,651.8 ns | 3,633.9 ns | 4,060.2 ns | 1.00 | 0.00 | 1.2354 | 0.0153 | - | 7.66 KB |
Xml_ToStream<Location> | XmlSerializer | 2.2 | 2.2 | 3,895.0 ns | 77.013 ns | 64.310 ns | 3,921.6 ns | 3,743.2 ns | 3,927.2 ns | 1.02 | 0.03 | 1.2412 | 0.0157 | - | 7.66 KB |
Xml_ToStream<LoginViewModel> | XmlSerializer | 2.1 | 2.1 | 2,588.3 ns | 12.531 ns | 10.464 ns | 2,588.1 ns | 2,576.9 ns | 2,616.2 ns | 1.00 | 0.00 | 1.2277 | 0.0208 | - | 7.62 KB |
Xml_ToStream<LoginViewModel> | XmlSerializer | 2.2 | 2.2 | 2,678.1 ns | 58.028 ns | 66.825 ns | 2,644.2 ns | 2,625.2 ns | 2,870.9 ns | 1.04 | 0.03 | 1.2261 | 0.0219 | - | 7.62 KB |
Xml_ToStream<MyEventsListerViewModel> | XmlSerializer | 2.1 | 2.1 | 452,637.7 ns | 12,621.286 ns | 14,028.526 ns | 446,589.9 ns | 439,899.4 ns | 492,967.4 ns | 1.00 | 0.00 | 7.3529 | - | - | 57.3 KB |
Xml_ToStream<MyEventsListerViewModel> | XmlSerializer | 2.2 | 2.2 | 497,356.2 ns | 30,882.219 ns | 35,564.009 ns | 473,585.8 ns | 468,655.6 ns | 585,134.1 ns | 1.10 | 0.08 | 8.3333 | - | - | 57.3 KB |
Xml_ToStream<SimpleStructWithProperties> | XmlSerializer | 2.1 | 2.1 | 2,394.8 ns | 49.208 ns | 52.652 ns | 2,362.6 ns | 2,341.1 ns | 2,464.4 ns | 1.00 | 0.00 | 1.2282 | 0.0195 | - | 7.57 KB |
Xml_ToStream<SimpleStructWithProperties> | XmlSerializer | 2.2 | 2.2 | 2,390.8 ns | 45.022 ns | 44.218 ns | 2,368.3 ns | 2,363.4 ns | 2,488.4 ns | 1.00 | 0.02 | 1.2216 | 0.0197 | - | 7.57 KB |
Xml_ToStream<XmlElement> | XmlSerializer | 2.1 | 2.1 | 1,325.2 ns | 26.161 ns | 25.694 ns | 1,332.2 ns | 1,292.2 ns | 1,356.0 ns | 1.00 | 0.00 | 1.1359 | 0.0215 | - | 7.02 KB |
Xml_ToStream<XmlElement> | XmlSerializer | 2.2 | 2.2 | 1,291.2 ns | 24.920 ns | 26.664 ns | 1,279.3 ns | 1,276.9 ns | 1,373.7 ns | 0.98 | 0.02 | 1.1359 | 0.0213 | - | 7.02 KB |
Xml_FromStream<ClassImplementingIXmlSerialiable> | DataContractSerializer | 2.1 | 2.1 | 2,122.0 ns | 41.494 ns | 44.398 ns | 2,092.8 ns | 2,069.3 ns | 2,188.3 ns | 1.00 | 0.00 | 0.7890 | 0.0088 | - | 4.91 KB |
Xml_FromStream<ClassImplementingIXmlSerialiable> | DataContractSerializer | 2.2 | 2.2 | 2,078.9 ns | 54.310 ns | 58.111 ns | 2,052.4 ns | 2,033.1 ns | 2,260.5 ns | 0.98 | 0.03 | 0.7907 | 0.0085 | - | 4.91 KB |
Xml_FromStream<CollectionsOfPrimitives> | DataContractSerializer | 2.1 | 2.1 | 1,838,644.7 ns | 48,818.935 ns | 56,219.959 ns | 1,798,964.5 ns | 1,787,775.2 ns | 1,985,112.4 ns | 1.00 | 0.00 | 27.7778 | 6.9444 | - | 209.98 KB |
Xml_FromStream<CollectionsOfPrimitives> | DataContractSerializer | 2.2 | 2.2 | 1,894,600.2 ns | 52,406.983 ns | 58,250.223 ns | 1,863,604.0 ns | 1,836,907.2 ns | 2,041,209.8 ns | 1.03 | 0.03 | 27.7778 | 6.9444 | - | 209.98 KB |
Xml_FromStream<IndexViewModel> | DataContractSerializer | 2.1 | 2.1 | 171,436.9 ns | 4,362.055 ns | 4,848.412 ns | 171,105.5 ns | 166,656.6 ns | 183,251.3 ns | 1.00 | 0.00 | 6.3202 | 0.7022 | - | 41.64 KB |
Xml_FromStream<IndexViewModel> | DataContractSerializer | 2.2 | 2.2 | 176,600.2 ns | 5,025.284 ns | 5,787.124 ns | 176,932.9 ns | 170,707.1 ns | 191,810.9 ns | 1.03 | 0.03 | 6.4655 | 0.7184 | - | 41.64 KB |
Xml_FromStream<Location> | DataContractSerializer | 2.1 | 2.1 | 6,413.8 ns | 131.282 ns | 140.471 ns | 6,422.8 ns | 6,247.9 ns | 6,577.0 ns | 1.00 | 0.00 | 1.9351 | 0.0523 | - | 12.03 KB |
Xml_FromStream<Location> | DataContractSerializer | 2.2 | 2.2 | 6,456.9 ns | 134.581 ns | 144.001 ns | 6,442.6 ns | 6,307.9 ns | 6,638.9 ns | 1.01 | 0.00 | 1.9465 | 0.0526 | - | 12.03 KB |
Xml_FromStream<LoginViewModel> | DataContractSerializer | 2.1 | 2.1 | 3,754.9 ns | 94.912 ns | 105.495 ns | 3,694.2 ns | 3,664.1 ns | 4,047.3 ns | 1.00 | 0.00 | 1.8958 | 0.0462 | - | 11.73 KB |
Xml_FromStream<LoginViewModel> | DataContractSerializer | 2.2 | 2.2 | 3,790.5 ns | 16.398 ns | 12.803 ns | 3,791.0 ns | 3,778.3 ns | 3,823.5 ns | 1.00 | 0.03 | 1.8921 | 0.0454 | - | 11.73 KB |
Xml_FromStream<MyEventsListerViewModel> | DataContractSerializer | 2.1 | 2.1 | 1,950,570.4 ns | 57,764.357 ns | 66,521.519 ns | 1,909,030.0 ns | 1,895,923.1 ns | 2,138,900.4 ns | 1.00 | 0.00 | 23.4375 | - | - | 194.54 KB |
Xml_FromStream<MyEventsListerViewModel> | DataContractSerializer | 2.2 | 2.2 | 2,022,999.0 ns | 44,579.584 ns | 49,550.089 ns | 2,050,858.7 ns | 1,957,683.2 ns | 2,087,278.4 ns | 1.04 | 0.03 | 23.4375 | - | - | 194.61 KB |
Xml_FromStream<SimpleStructWithProperties> | DataContractSerializer | 2.1 | 2.1 | 2,791.8 ns | 81.366 ns | 87.061 ns | 2,786.5 ns | 2,702.6 ns | 2,985.3 ns | 1.00 | 0.00 | 1.8633 | 0.0454 | - | 11.52 KB |
Xml_FromStream<SimpleStructWithProperties> | DataContractSerializer | 2.2 | 2.2 | 2,872.5 ns | 51.357 ns | 42.885 ns | 2,889.0 ns | 2,775.1 ns | 2,897.3 ns | 1.02 | 0.03 | 1.8688 | 0.0461 | - | 11.52 KB |
Xml_FromStream<XmlElement> | DataContractSerializer | 2.1 | 2.1 | 3,726.1 ns | 73.556 ns | 75.536 ns | 3,778.8 ns | 3,615.9 ns | 3,794.6 ns | 1.00 | 0.00 | 1.4018 | 0.0305 | - | 8.66 KB |
Xml_FromStream<XmlElement> | DataContractSerializer | 2.2 | 2.2 | 3,843.9 ns | 147.022 ns | 163.415 ns | 3,838.1 ns | 3,674.9 ns | 4,260.5 ns | 1.04 | 0.04 | 1.3923 | 0.0306 | - | 8.66 KB |
Xml_ToStream<ClassImplementingIXmlSerialiable> | DataContractSerializer | 2.1 | 2.1 | 715.8 ns | 26.614 ns | 28.476 ns | 700.8 ns | 694.0 ns | 785.3 ns | 1.00 | 0.00 | 0.1863 | - | - | 1.16 KB |
Xml_ToStream<ClassImplementingIXmlSerialiable> | DataContractSerializer | 2.2 | 2.2 | 738.5 ns | 29.464 ns | 24.604 ns | 727.8 ns | 725.6 ns | 812.8 ns | 1.02 | 0.03 | 0.1872 | - | - | 1.16 KB |
Xml_ToStream<CollectionsOfPrimitives> | DataContractSerializer | 2.1 | 2.1 | 786,883.8 ns | 19,527.123 ns | 22,487.464 ns | 772,554.6 ns | 767,338.1 ns | 844,103.7 ns | 1.00 | 0.00 | 3.2258 | - | - | 33.74 KB |
Xml_ToStream<CollectionsOfPrimitives> | DataContractSerializer | 2.2 | 2.2 | 803,760.7 ns | 25,140.470 ns | 28,951.803 ns | 789,886.7 ns | 775,610.6 ns | 886,308.1 ns | 1.02 | 0.03 | 3.2680 | - | - | 33.74 KB |
Xml_ToStream<IndexViewModel> | DataContractSerializer | 2.1 | 2.1 | 87,443.2 ns | 2,046.842 ns | 2,190.098 ns | 86,523.9 ns | 85,361.2 ns | 91,716.9 ns | 1.00 | 0.00 | 3.2097 | - | - | 20.37 KB |
Xml_ToStream<IndexViewModel> | DataContractSerializer | 2.2 | 2.2 | 83,329.7 ns | 3,192.829 ns | 3,548.821 ns | 81,545.5 ns | 80,397.5 ns | 92,080.3 ns | 0.95 | 0.03 | 3.0685 | - | - | 20.37 KB |
Xml_ToStream<Location> | DataContractSerializer | 2.1 | 2.1 | 2,362.0 ns | 83.958 ns | 89.834 ns | 2,314.5 ns | 2,286.3 ns | 2,606.7 ns | 1.00 | 0.00 | 0.2134 | - | - | 1.37 KB |
Xml_ToStream<Location> | DataContractSerializer | 2.2 | 2.2 | 2,397.4 ns | 62.272 ns | 69.216 ns | 2,429.1 ns | 2,322.6 ns | 2,572.7 ns | 1.02 | 0.04 | 0.2153 | - | - | 1.37 KB |
Xml_ToStream<LoginViewModel> | DataContractSerializer | 2.1 | 2.1 | 1,273.9 ns | 2.987 ns | 2.332 ns | 1,272.7 ns | 1,270.3 ns | 1,277.3 ns | 1.00 | 0.00 | 0.2192 | - | - | 1.37 KB |
Xml_ToStream<LoginViewModel> | DataContractSerializer | 2.2 | 2.2 | 1,312.3 ns | 26.710 ns | 28.580 ns | 1,299.9 ns | 1,280.5 ns | 1,366.5 ns | 1.04 | 0.02 | 0.2208 | - | - | 1.37 KB |
Xml_ToStream<MyEventsListerViewModel> | DataContractSerializer | 2.1 | 2.1 | 1,090,736.9 ns | 63,414.982 ns | 73,028.788 ns | 1,039,776.8 ns | 1,031,683.3 ns | 1,262,440.3 ns | 1.00 | 0.00 | 51.7241 | - | - | 339.2 KB |
Xml_ToStream<MyEventsListerViewModel> | DataContractSerializer | 2.2 | 2.2 | 942,200.3 ns | 28,936.110 ns | 32,162.409 ns | 920,454.1 ns | 913,548.1 ns | 1,032,065.9 ns | 0.86 | 0.04 | 51.0949 | - | - | 339.2 KB |
Xml_ToStream<SimpleStructWithProperties> | DataContractSerializer | 2.1 | 2.1 | 1,070.3 ns | 19.484 ns | 16.270 ns | 1,071.0 ns | 1,045.4 ns | 1,108.4 ns | 1.00 | 0.00 | 0.2248 | - | - | 1.4 KB |
Xml_ToStream<SimpleStructWithProperties> | DataContractSerializer | 2.2 | 2.2 | 1,046.0 ns | 27.259 ns | 29.166 ns | 1,028.0 ns | 1,021.6 ns | 1,115.5 ns | 0.98 | 0.02 | 0.2236 | - | - | 1.4 KB |
Xml_ToStream<XmlElement> | DataContractSerializer | 2.1 | 2.1 | 484.9 ns | 9.447 ns | 9.702 ns | 479.8 ns | 473.5 ns | 505.8 ns | 1.00 | 0.00 | 0.1800 | - | - | 1.12 KB |
Xml_ToStream<XmlElement> | DataContractSerializer | 2.2 | 2.2 | 464.7 ns | 8.937 ns | 7.923 ns | 461.9 ns | 457.6 ns | 482.9 ns | 0.96 | 0.02 | 0.1795 | - | - | 1.12 KB |
from performance.
BlockCopy
No significant difference for 3 out of 4 test cases. The test case with number of elements = 100 has regression. It's implemented in native code, I can't check it quickly with BDN disassembler.
Method | Toolchain | numElements | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CallBlockCopy | 2.1 | 0 | 5.242 ns | 0.0168 ns | 0.0140 ns | 5.244 ns | 5.221 ns | 5.272 ns | 1.00 | 0.00 | - | - | - | - |
CallBlockCopy | 2.2 | 0 | 5.426 ns | 0.0060 ns | 0.0053 ns | 5.424 ns | 5.420 ns | 5.435 ns | 1.04 | 0.00 | - | - | - | - |
CallBlockCopy | 2.1 | 10 | 6.250 ns | 0.0084 ns | 0.0070 ns | 6.248 ns | 6.240 ns | 6.268 ns | 1.00 | 0.00 | - | - | - | - |
CallBlockCopy | 2.2 | 10 | 6.517 ns | 0.0127 ns | 0.0119 ns | 6.517 ns | 6.504 ns | 6.547 ns | 1.04 | 0.00 | - | - | - | - |
CallBlockCopy | 2.1 | 100 | 8.522 ns | 0.1662 ns | 0.1554 ns | 8.445 ns | 8.389 ns | 8.812 ns | 1.00 | 0.00 | - | - | - | - |
CallBlockCopy | 2.2 | 100 | 12.397 ns | 0.0123 ns | 0.0102 ns | 12.394 ns | 12.385 ns | 12.422 ns | 1.45 | 0.03 | - | - | - | - |
CallBlockCopy | 2.1 | 1000 | 28.606 ns | 0.0288 ns | 0.0269 ns | 28.599 ns | 28.566 ns | 28.646 ns | 1.00 | 0.00 | - | - | - | - |
CallBlockCopy | 2.2 | 1000 | 30.694 ns | 0.0405 ns | 0.0338 ns | 30.680 ns | 30.645 ns | 30.759 ns | 1.07 | 0.00 | - | - | - | - |
from performance.
PerfLabTests.CastingPerf2.CastingPerf
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ObjFooIsObj | 2.1 | .NET Core 2.1 | 481.4 us | 13.6994 us | 14.0683 us | 472.9 us | 466.7 us | 509.8 us | 1.00 | 0.00 | - | - | - | - |
ObjFooIsObj | 2.2 | 2.2 | 467.2 us | 12.3674 us | 13.7464 us | 456.7 us | 455.0 us | 503.6 us | 0.97 | 0.01 | - | - | - | - |
FooObjIsFoo | 2.1 | .NET Core 2.1 | 629.7 us | 15.7392 us | 18.1253 us | 618.1 us | 613.4 us | 681.5 us | 1.00 | 0.00 | - | - | - | - |
FooObjIsFoo | 2.2 | 2.2 | 596.5 us | 1.7083 us | 1.4265 us | 596.5 us | 594.7 us | 598.9 us | 0.94 | 0.03 | - | - | - | - |
FooObjIsNull | 2.1 | .NET Core 2.1 | 483.7 us | 11.7029 us | 13.0077 us | 489.8 us | 465.0 us | 509.2 us | 1.00 | 0.00 | - | - | - | - |
FooObjIsNull | 2.2 | 2.2 | 467.9 us | 13.4508 us | 14.3922 us | 464.1 us | 455.1 us | 503.1 us | 0.97 | 0.03 | - | - | - | - |
FooObjIsDescendant | 2.1 | .NET Core 2.1 | 488.5 us | 12.4309 us | 12.7656 us | 477.7 us | 476.6 us | 511.1 us | 1.00 | 0.00 | - | - | - | - |
FooObjIsDescendant | 2.2 | 2.2 | 513.4 us | 13.3035 us | 14.2346 us | 503.6 us | 502.3 us | 548.0 us | 1.05 | 0.02 | - | - | - | - |
IFooFooIsIFoo | 2.1 | .NET Core 2.1 | 488.4 us | 8.6750 us | 7.2440 us | 490.7 us | 469.7 us | 494.4 us | 1.00 | 0.00 | - | - | - | - |
IFooFooIsIFoo | 2.2 | 2.2 | 465.7 us | 11.9536 us | 13.2864 us | 457.5 us | 455.2 us | 503.0 us | 0.96 | 0.03 | - | - | - | - |
IFooObjIsIFoo | 2.1 | .NET Core 2.1 | 717.4 us | 39.9981 us | 46.0619 us | 706.6 us | 659.5 us | 816.3 us | 1.00 | 0.00 | - | - | - | - |
IFooObjIsIFoo | 2.2 | 2.2 | 692.1 us | 23.3318 us | 26.8689 us | 696.1 us | 657.9 us | 755.6 us | 0.97 | 0.04 | - | - | - | - |
IFooObjIsIFooInterAlia | 2.1 | .NET Core 2.1 | 460.1 us | 26.6581 us | 30.6995 us | 450.2 us | 429.4 us | 529.1 us | 1.00 | 0.00 | - | - | - | - |
IFooObjIsIFooInterAlia | 2.2 | 2.2 | 441.2 us | 10.3098 us | 11.0314 us | 441.1 us | 430.0 us | 461.5 us | 0.96 | 0.05 | - | - | - | - |
IFooObjIsDescendantOfIFoo | 2.1 | .NET Core 2.1 | 702.9 us | 12.3799 us | 9.6654 us | 705.9 us | 676.8 us | 709.9 us | 1.00 | 0.00 | - | - | - | - |
IFooObjIsDescendantOfIFoo | 2.2 | 2.2 | 690.2 us | 19.2837 us | 22.2072 us | 679.1 us | 667.3 us | 739.8 us | 1.00 | 0.03 | - | - | - | - |
ObjInt | 2.1 | .NET Core 2.1 | 500.3 us | 13.2557 us | 14.7336 us | 492.0 us | 490.5 us | 535.5 us | 1.00 | 0.00 | 379.0323 | - | - | 2400000 B |
ObjInt | 2.2 | 2.2 | 518.0 us | 22.1802 us | 25.5427 us | 514.7 us | 492.7 us | 569.2 us | 1.04 | 0.05 | 379.0323 | - | - | 2400000 B |
IntObj | 2.1 | .NET Core 2.1 | 131.2 us | 3.9470 us | 4.3871 us | 132.5 us | 126.4 us | 140.6 us | 1.00 | 0.00 | - | - | - | - |
IntObj | 2.2 | 2.2 | 129.9 us | 3.1742 us | 3.2597 us | 130.6 us | 126.4 us | 135.9 us | 0.99 | 0.03 | - | - | - | - |
ObjScalarValueType | 2.1 | .NET Core 2.1 | 504.9 us | 10.0758 us | 10.3471 us | 498.0 us | 495.7 us | 518.9 us | 1.00 | 0.00 | 379.0323 | - | - | 2400000 B |
ObjScalarValueType | 2.2 | 2.2 | 551.2 us | 37.7659 us | 43.4912 us | 522.8 us | 519.0 us | 639.9 us | 1.10 | 0.07 | 379.3103 | - | - | 2400000 B |
ScalarValueTypeObj | 2.1 | .NET Core 2.1 | 240.9 us | 7.0278 us | 6.2300 us | 238.4 us | 232.9 us | 254.3 us | 1.00 | 0.00 | - | - | - | - |
ScalarValueTypeObj | 2.2 | 2.2 | 243.8 us | 13.5999 us | 15.6617 us | 238.5 us | 227.4 us | 272.6 us | 1.04 | 0.06 | - | - | - | - |
ObjObjrefValueType | 2.1 | .NET Core 2.1 | 798.0 us | 15.7334 us | 16.8345 us | 784.4 us | 782.5 us | 818.8 us | 1.00 | 0.00 | 506.2500 | - | - | 3200000 B |
ObjObjrefValueType | 2.2 | 2.2 | 813.7 us | 26.1490 us | 27.9792 us | 807.3 us | 788.3 us | 880.4 us | 1.02 | 0.03 | 506.5789 | - | - | 3200000 B |
ObjrefValueTypeObj | 2.1 | .NET Core 2.1 | 841.6 us | 0.6416 us | 0.5687 us | 841.7 us | 840.2 us | 842.3 us | 1.00 | 0.00 | - | - | - | - |
ObjrefValueTypeObj | 2.2 | 2.2 | 870.6 us | 18.0545 us | 17.7319 us | 861.5 us | 859.0 us | 900.3 us | 1.04 | 0.02 | - | - | - | - |
FooObjCastIfIsa | 2.1 | .NET Core 2.1 | 436.7 us | 11.9396 us | 12.7753 us | 433.3 us | 425.2 us | 471.4 us | 1.00 | 0.00 | - | - | - | - |
FooObjCastIfIsa | 2.2 | 2.2 | 387.6 us | 10.1462 us | 11.2775 us | 394.4 us | 376.3 us | 413.3 us | 0.89 | 0.02 | - | - | - | - |
from performance.
PerfLabTests.GetMember
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GetField | 2.1 | .NET Core 2.1 | 102.5 us | 0.3049 us | 0.2381 us | 102.4 us | 102.30 us | 103.1 us | 1.00 | 0.00 | - | - | - | 1 B |
GetField | 2.2 | 2.2 | 101.8 us | 2.7519 us | 2.9445 us | 103.1 us | 98.40 us | 109.0 us | 1.01 | 0.02 | - | - | - | 1 B |
GetMethod1 | 2.1 | .NET Core 2.1 | 174.6 us | 3.6080 us | 4.0103 us | 172.0 us | 171.13 us | 180.0 us | 1.00 | 0.00 | - | - | - | 1 B |
GetMethod1 | 2.2 | 2.2 | 178.4 us | 6.4924 us | 7.2163 us | 173.4 us | 172.26 us | 195.2 us | 1.02 | 0.03 | - | - | - | 1 B |
GetMethod2 | 2.1 | .NET Core 2.1 | 361.3 us | 0.3358 us | 0.2622 us | 361.3 us | 360.79 us | 361.7 us | 1.00 | 0.00 | - | - | - | 2 B |
GetMethod2 | 2.2 | 2.2 | 360.3 us | 1.0883 us | 0.9648 us | 360.6 us | 357.04 us | 360.9 us | 1.00 | 0.00 | - | - | - | 2 B |
GetMethod3 | 2.1 | .NET Core 2.1 | 529.9 us | 11.1073 us | 12.3457 us | 520.6 us | 517.55 us | 545.1 us | 1.00 | 0.00 | - | - | - | 6 B |
GetMethod3 | 2.2 | 2.2 | 532.7 us | 13.1476 us | 14.6136 us | 540.5 us | 516.43 us | 567.1 us | 1.01 | 0.02 | - | - | - | 6 B |
GetMethod4 | 2.1 | .NET Core 2.1 | 710.1 us | 14.0718 us | 15.6408 us | 708.8 us | 692.12 us | 726.4 us | 1.00 | 0.00 | - | - | - | 10 B |
GetMethod4 | 2.2 | 2.2 | 718.1 us | 20.2175 us | 22.4717 us | 724.4 us | 691.81 us | 768.3 us | 1.01 | 0.03 | - | - | - | 10 B |
GetMethod5 | 2.1 | .NET Core 2.1 | 876.6 us | 20.2595 us | 21.6774 us | 864.5 us | 862.89 us | 930.7 us | 1.00 | 0.00 | - | - | - | 15 B |
GetMethod5 | 2.2 | 2.2 | 886.9 us | 24.1969 us | 25.8904 us | 878.2 us | 863.64 us | 955.4 us | 1.01 | 0.03 | - | - | - | 16 B |
GetMethod10 | 2.1 | .NET Core 2.1 | 1,813.7 us | 5.3733 us | 4.4870 us | 1,812.0 us | 1,810.13 us | 1,825.9 us | 1.00 | 0.00 | - | - | - | 61 B |
GetMethod10 | 2.2 | 2.2 | 1,761.7 us | 37.4599 us | 41.6366 us | 1,741.1 us | 1,719.86 us | 1,813.2 us | 0.98 | 0.02 | - | - | - | 61 B |
GetMethod12 | 2.1 | .NET Core 2.1 | 2,117.9 us | 65.3121 us | 69.8833 us | 2,073.4 us | 2,068.20 us | 2,300.2 us | 1.00 | 0.00 | - | - | - | 82 B |
GetMethod12 | 2.2 | 2.2 | 2,166.6 us | 6.4241 us | 5.3644 us | 2,166.0 us | 2,156.47 us | 2,178.9 us | 1.02 | 0.04 | - | - | - | 93 B |
GetMethod15 | 2.1 | .NET Core 2.1 | 2,719.3 us | 4.9841 us | 4.1620 us | 2,717.9 us | 2,715.61 us | 2,730.5 us | 1.00 | 0.00 | - | - | - | 136 B |
GetMethod15 | 2.2 | 2.2 | 2,677.6 us | 75.1785 us | 77.2028 us | 2,714.8 us | 2,593.85 us | 2,866.4 us | 0.99 | 0.03 | - | - | - | 136 B |
GetMethod20 | 2.1 | .NET Core 2.1 | 3,561.9 us | 87.1349 us | 96.8502 us | 3,493.6 us | 3,476.79 us | 3,779.4 us | 1.00 | 0.00 | - | - | - | 218 B |
GetMethod20 | 2.2 | 2.2 | 3,534.1 us | 75.4754 us | 80.7578 us | 3,476.8 us | 3,460.75 us | 3,639.9 us | 0.99 | 0.02 | - | - | - | 218 B |
from performance.
PerfLabTests.StackWalk
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Walk | 2.1 | .NET Core 2.1 | 18.61 ms | 0.0387 ms | 0.0343 ms | 18.61 ms | 18.54 ms | 18.66 ms | 1.00 | 0.00 | 1000000.0000 | - | - | - |
Walk | 2.2 | 2.2 | 18.11 ms | 0.3525 ms | 0.3772 ms | 18.30 ms | 17.56 ms | 18.67 ms | 0.98 | 0.02 | 1000000.0000 | - | - | - |
from performance.
SciMark2
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
benchFFT | 2.1 | .NET Core 2.1 | 707.7 ms | 5.1827 ms | 4.3278 ms | 706.0 ms | 705.0 ms | 718.6 ms | 1.00 | 0.00 | - | - | - | - |
benchFFT | 2.2 | 2.2 | 702.7 ms | 13.9899 ms | 14.9690 ms | 694.3 ms | 691.4 ms | 729.3 ms | 1.00 | 0.02 | - | - | - | - |
benchSOR | 2.1 | .NET Core 2.1 | 828.1 ms | 0.5723 ms | 0.4468 ms | 828.0 ms | 827.4 ms | 828.9 ms | 1.00 | 0.00 | - | - | - | - |
benchSOR | 2.2 | 2.2 | 828.1 ms | 0.4481 ms | 0.3499 ms | 828.1 ms | 827.5 ms | 828.9 ms | 1.00 | 0.00 | - | - | - | - |
benchMonteCarlo | 2.1 | .NET Core 2.1 | 703.1 ms | 13.7300 ms | 13.4847 ms | 696.9 ms | 696.1 ms | 731.8 ms | 1.00 | 0.00 | - | - | - | 176 B |
benchMonteCarlo | 2.2 | 2.2 | 728.0 ms | 14.5844 ms | 14.9771 ms | 719.9 ms | 718.8 ms | 754.8 ms | 1.04 | 0.01 | - | - | - | 176 B |
benchSparseMult | 2.1 | .NET Core 2.1 | 616.7 ms | 13.2281 ms | 13.5843 ms | 609.6 ms | 608.6 ms | 646.7 ms | 1.00 | 0.00 | - | - | - | - |
benchSparseMult | 2.2 | 2.2 | 624.0 ms | 11.6191 ms | 10.3000 ms | 620.3 ms | 616.1 ms | 648.0 ms | 1.01 | 0.02 | - | - | - | - |
benchmarkLU | 2.1 | .NET Core 2.1 | 647.9 ms | 3.8604 ms | 3.0140 ms | 646.9 ms | 645.9 ms | 657.1 ms | 1.00 | 0.00 | - | - | - | - |
benchmarkLU | 2.2 | 2.2 | 648.1 ms | 4.5366 ms | 3.5419 ms | 647.2 ms | 645.8 ms | 659.2 ms | 1.00 | 0.01 | - | - | - | - |
from performance.
SeekUnroll
No significant difference.
Method | Job | Toolchain | boxedIndex | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SeekUnroll | 2.1 | .NET Core 2.1 | 1 | 763.6 ms | 14.3596 ms | 13.4320 ms | 758.4 ms | 757.7 ms | 798.7 ms | 1.00 | 0.00 | - | - | - | 56 B |
SeekUnroll | 2.2 | 2.2 | 1 | 758.4 ms | 0.7939 ms | 0.6198 ms | 758.3 ms | 757.7 ms | 759.7 ms | 0.99 | 0.02 | - | - | - | 56 B |
SeekUnroll | 2.1 | .NET Core 2.1 | 3 | 758.2 ms | 0.3790 ms | 0.3165 ms | 758.2 ms | 757.6 ms | 758.8 ms | 1.00 | 0.00 | - | - | - | 56 B |
SeekUnroll | 2.2 | 2.2 | 3 | 767.9 ms | 18.3982 ms | 18.0695 ms | 758.5 ms | 757.7 ms | 809.6 ms | 1.01 | 0.03 | - | - | - | 56 B |
SeekUnroll | 2.1 | .NET Core 2.1 | 11 | 1,137.8 ms | 1.3062 ms | 1.1579 ms | 1,137.3 ms | 1,136.7 ms | 1,140.4 ms | 1.00 | 0.00 | - | - | - | 56 B |
SeekUnroll | 2.2 | 2.2 | 11 | 1,137.8 ms | 1.1972 ms | 0.9347 ms | 1,137.6 ms | 1,137.0 ms | 1,140.0 ms | 1.00 | 0.00 | - | - | - | 56 B |
SeekUnroll | 2.1 | .NET Core 2.1 | 19 | 1,391.9 ms | 4.0332 ms | 3.5753 ms | 1,390.0 ms | 1,389.2 ms | 1,401.5 ms | 1.00 | 0.00 | - | - | - | 56 B |
SeekUnroll | 2.2 | 2.2 | 19 | 1,414.8 ms | 22.2200 ms | 20.7846 ms | 1,426.4 ms | 1,389.3 ms | 1,438.2 ms | 1.02 | 0.01 | - | - | - | 56 B |
SeekUnroll | 2.1 | .NET Core 2.1 | 27 | 1,707.4 ms | 5.3746 ms | 4.7645 ms | 1,708.0 ms | 1,698.1 ms | 1,716.7 ms | 1.00 | 0.00 | - | - | - | 56 B |
SeekUnroll | 2.2 | 2.2 | 27 | 1,777.3 ms | 4.9080 ms | 4.3509 ms | 1,775.3 ms | 1,772.2 ms | 1,786.6 ms | 1.04 | 0.00 | - | - | - | 56 B |
from performance.
DelegatePerf
No significant difference. DelegateInvoke difference gone after re-run.
Method | Job | Toolchain | UnrollFactor | length | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DelegateInvoke | 2.1 | .NET Core 2.1 | 16 | ? | 413.5 us | 8.400 us | 9.337 us | 405.7 us | 404.3 us | 424.1 us | 1.00 | 0.00 | - | - | - | - |
DelegateInvoke | 2.2 | 2.2 | 16 | ? | 364.3 us | 9.255 us | 10.287 us | 370.5 us | 354.0 us | 391.4 us | 0.88 | 0.02 | - | - | - | - |
MulticastDelegateCombineInvoke | 2.1 | .NET Core 2.1 | 1 | ? | 182,194.7 us | 3,344.690 us | 2,792.967 us | 183,183.5 us | 175,163.8 us | 183,739.4 us | 1.00 | 0.00 | 63000.0000 | 8000.0000 | - | 400919904 B |
MulticastDelegateCombineInvoke | 2.2 | 2.2 | 1 | ? | 178,212.3 us | 5,009.567 us | 5,360.180 us | 179,425.7 us | 171,726.7 us | 190,971.4 us | 0.99 | 0.02 | 63000.0000 | 8000.0000 | - | 400919904 B |
MulticastDelegateInvoke | 2.1 | .NET Core 2.1 | 16 | 100 | 4,037.5 us | 113.324 us | 121.255 us | 4,055.4 us | 3,872.7 us | 4,289.5 us | 1.00 | 0.00 | - | - | - | - |
MulticastDelegateInvoke | 2.2 | 2.2 | 16 | 100 | 4,226.3 us | 86.151 us | 95.756 us | 4,303.8 us | 4,113.0 us | 4,307.5 us | 1.05 | 0.03 | - | - | - | - |
MulticastDelegateInvoke | 2.1 | .NET Core 2.1 | 16 | 1000 | 37,872.6 us | 1,494.109 us | 1,660.698 us | 38,025.3 us | 33,593.4 us | 39,477.9 us | 1.00 | 0.00 | - | - | - | - |
MulticastDelegateInvoke | 2.2 | 2.2 | 16 | 1000 | 41,614.0 us | 1,676.632 us | 1,930.812 us | 42,399.4 us | 38,005.7 us | 45,372.3 us | 1.10 | 0.08 | - | - | - | - |
from performance.
EnumPerf
Looks like we have a regression in ObjectGetType
and ObjectGetTypeNoBoxing
benchmark.
dotnet run -c Release -f netcoreapp2.1 -- -f *.ObjectGetType* --runtimes netcoreapp2.1 netcoreapp2.2
Method | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio |
---|---|---|---|---|---|---|---|---|
ObjectGetType | 2.1 | 1.1107 ns | 0.0078 ns | 0.0069 ns | 1.1122 ns | 1.0990 ns | 1.1220 ns | 1.00 |
ObjectGetType | 2.2 | 1.6138 ns | 0.0048 ns | 0.0045 ns | 1.6154 ns | 1.6066 ns | 1.6196 ns | 1.45 |
ObjectGetTypeNoBoxing | 2.1 | 0.8540 ns | 0.0059 ns | 0.0053 ns | 0.8530 ns | 0.8471 ns | 0.8662 ns | 1.00 |
ObjectGetTypeNoBoxing | 2.2 | 1.6521 ns | 0.0058 ns | 0.0054 ns | 1.6509 ns | 1.6450 ns | 1.6638 ns | 1.93 |
Method | Job | Toolchain | color | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ObjectGetType | 2.1 | .NET Core 2.1 | ? | 0.9620 ns | 0.0149 ns | 0.0124 ns | 0.9610 ns | 0.9464 ns | 0.9868 ns | 1.00 | 0.00 | - | - | - | - |
ObjectGetType | 2.2 | 2.2 | ? | 1.3916 ns | 0.0096 ns | 0.0090 ns | 1.3916 ns | 1.3741 ns | 1.4054 ns | 1.45 | 0.02 | - | - | - | - |
ObjectGetTypeNoBoxing | 2.1 | .NET Core 2.1 | ? | 0.7657 ns | 0.0052 ns | 0.0049 ns | 0.7639 ns | 0.7582 ns | 0.7763 ns | 1.00 | 0.00 | - | - | - | - |
ObjectGetTypeNoBoxing | 2.2 | 2.2 | ? | 1.5007 ns | 0.0107 ns | 0.0100 ns | 1.5031 ns | 1.4823 ns | 1.5219 ns | 1.96 | 0.02 | - | - | - | - |
EnumEquals | 2.1 | .NET Core 2.1 | ? | 8.6052 ns | 0.2555 ns | 0.2133 ns | 8.5222 ns | 8.5077 ns | 9.1923 ns | 1.00 | 0.00 | 0.0076 | - | - | 48 B |
EnumEquals | 2.2 | 2.2 | ? | 8.4816 ns | 0.2480 ns | 0.2757 ns | 8.3394 ns | 8.2821 ns | 9.1734 ns | 0.99 | 0.04 | 0.0076 | - | - | 48 B |
EnumCompareTo | 2.1 | .NET Core 2.1 | Red | 12.5483 ns | 0.2836 ns | 0.2653 ns | 12.4188 ns | 12.3951 ns | 13.1052 ns | 1.00 | 0.00 | 0.0076 | - | - | 48 B |
EnumCompareTo | 2.2 | 2.2 | Red | 11.9561 ns | 0.2607 ns | 0.2677 ns | 11.7954 ns | 11.7528 ns | 12.3855 ns | 0.95 | 0.02 | 0.0076 | - | - | 48 B |
from performance.
LowLevelPerf
No significant difference. Difference visible in the results below gone after re-run.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EmptyStaticFunction | 2.1 | .NET Core 2.1 | 2,661.76 us | 70.8146 us | 81.5502 us | 2,680.07 us | 2,557.01 us | 2,811.95 us | 1.00 | 0.00 | - | - | - | - |
EmptyStaticFunction | 2.2 | 2.2 | 2,411.15 us | 51.5451 us | 57.2922 us | 2,399.69 us | 2,351.80 us | 2,524.52 us | 0.90 | 0.03 | - | - | - | - |
EmptyStaticFunction5Arg | 2.1 | .NET Core 2.1 | 2,643.25 us | 67.4164 us | 77.6369 us | 2,661.27 us | 2,554.79 us | 2,852.98 us | 1.00 | 0.00 | - | - | - | - |
EmptyStaticFunction5Arg | 2.2 | 2.2 | 2,867.78 us | 57.2974 us | 63.6859 us | 2,914.06 us | 2,787.11 us | 2,930.05 us | 1.08 | 0.02 | - | - | - | - |
EmptyInstanceFunction | 2.1 | .NET Core 2.1 | 1,558.70 us | 38.4239 us | 44.2490 us | 1,554.57 us | 1,515.80 us | 1,657.62 us | 1.00 | 0.00 | - | - | - | - |
EmptyInstanceFunction | 2.2 | 2.2 | 1,561.63 us | 43.0819 us | 47.8854 us | 1,558.68 us | 1,517.72 us | 1,685.65 us | 1.00 | 0.01 | - | - | - | - |
InterfaceInterfaceMethod | 2.1 | .NET Core 2.1 | 3,099.60 us | 73.3414 us | 78.4745 us | 3,053.16 us | 3,028.70 us | 3,292.59 us | 1.00 | 0.00 | - | - | - | - |
InterfaceInterfaceMethod | 2.2 | 2.2 | 3,250.45 us | 89.1740 us | 99.1166 us | 3,179.92 us | 3,163.10 us | 3,471.77 us | 1.05 | 0.02 | - | - | - | - |
InterfaceInterfaceMethodLongHierarchy | 2.1 | .NET Core 2.1 | 317.75 us | 0.2106 us | 0.1759 us | 317.81 us | 317.42 us | 317.97 us | 1.00 | 0.00 | - | - | - | - |
InterfaceInterfaceMethodLongHierarchy | 2.2 | 2.2 | 316.72 us | 4.1892 us | 3.7136 us | 317.65 us | 303.83 us | 318.06 us | 1.00 | 0.00 | - | - | - | - |
InterfaceInterfaceMethodSwitchCallType | 2.1 | .NET Core 2.1 | 708.79 us | 0.9588 us | 0.8006 us | 708.55 us | 707.76 us | 709.99 us | 1.00 | 0.00 | - | - | - | - |
InterfaceInterfaceMethodSwitchCallType | 2.2 | 2.2 | 734.73 us | 23.1143 us | 26.6185 us | 740.97 us | 707.63 us | 786.79 us | 1.06 | 0.03 | - | - | - | - |
ClassVirtualMethod | 2.1 | .NET Core 2.1 | 156.02 us | 4.4940 us | 4.9951 us | 152.60 us | 151.69 us | 168.28 us | 1.00 | 0.00 | - | - | - | - |
ClassVirtualMethod | 2.2 | 2.2 | 154.98 us | 3.3762 us | 3.7526 us | 152.09 us | 151.53 us | 161.50 us | 0.99 | 0.02 | - | - | - | - |
SealedClassInterfaceMethod | 2.1 | .NET Core 2.1 | 157.98 us | 0.1369 us | 0.1280 us | 157.97 us | 157.77 us | 158.27 us | 1.00 | 0.00 | - | - | - | - |
SealedClassInterfaceMethod | 2.2 | 2.2 | 158.82 us | 0.0782 us | 0.0693 us | 158.82 us | 158.73 us | 158.94 us | 1.01 | 0.00 | - | - | - | - |
StructWithInterfaceInterfaceMethod | 2.1 | .NET Core 2.1 | 156.07 us | 3.1943 us | 3.5505 us | 158.89 us | 151.77 us | 159.25 us | 1.00 | 0.00 | - | - | - | - |
StructWithInterfaceInterfaceMethod | 2.2 | 2.2 | 156.15 us | 3.8558 us | 4.4403 us | 158.77 us | 151.65 us | 167.67 us | 1.00 | 0.01 | - | - | - | - |
StaticIntPlus | 2.1 | .NET Core 2.1 | 156.73 us | 3.9395 us | 4.2152 us | 158.82 us | 151.73 us | 166.52 us | 1.00 | 0.00 | - | - | - | - |
StaticIntPlus | 2.2 | 2.2 | 155.25 us | 4.3536 us | 5.0137 us | 151.95 us | 151.62 us | 169.04 us | 0.99 | 0.03 | - | - | - | - |
ObjectStringIsString | 2.1 | .NET Core 2.1 | 66.32 us | 2.9444 us | 3.1504 us | 66.24 us | 63.21 us | 74.03 us | 1.00 | 0.00 | - | - | - | - |
ObjectStringIsString | 2.2 | 2.2 | 65.48 us | 1.8411 us | 1.9699 us | 65.44 us | 63.58 us | 70.39 us | 0.99 | 0.04 | - | - | - | - |
NewDelegateClassEmptyInstanceFn | 2.1 | .NET Core 2.1 | 642.92 us | 14.2299 us | 15.8165 us | 648.98 us | 625.35 us | 676.99 us | 1.00 | 0.00 | 1015.6250 | - | - | 6400000 B |
NewDelegateClassEmptyInstanceFn | 2.2 | 2.2 | 635.61 us | 12.1742 us | 10.7921 us | 638.87 us | 622.34 us | 647.10 us | 0.98 | 0.02 | 1015.0000 | - | - | 6400000 B |
NewDelegateClassEmptyStaticFn | 2.1 | .NET Core 2.1 | 635.97 us | 12.3206 us | 10.9219 us | 643.76 us | 621.00 us | 644.86 us | 1.00 | 0.00 | 1015.0000 | - | - | 6400000 B |
NewDelegateClassEmptyStaticFn | 2.2 | 2.2 | 641.04 us | 17.6808 us | 19.6522 us | 656.22 us | 612.89 us | 666.21 us | 1.02 | 0.01 | 1015.0000 | - | - | 6400000 B |
InstanceDelegate | 2.1 | .NET Core 2.1 | 217.11 us | 6.7946 us | 7.8247 us | 218.40 us | 208.38 us | 234.01 us | 1.00 | 0.00 | - | - | - | - |
InstanceDelegate | 2.2 | 2.2 | 181.33 us | 4.9229 us | 5.4718 us | 177.48 us | 176.92 us | 195.73 us | 0.83 | 0.03 | - | - | - | - |
StaticDelegate | 2.1 | .NET Core 2.1 | 389.19 us | 8.1162 us | 9.0211 us | 396.97 us | 379.22 us | 398.42 us | 1.00 | 0.00 | - | - | - | - |
StaticDelegate | 2.2 | 2.2 | 370.21 us | 4.9793 us | 3.8875 us | 371.28 us | 357.87 us | 371.71 us | 0.94 | 0.01 | - | - | - | - |
MeasureEvents | 2.1 | .NET Core 2.1 | 18,662.16 us | 546.4038 us | 607.3263 us | 18,921.19 us | 17,825.63 us | 19,602.21 us | 1.00 | 0.00 | - | - | - | - |
MeasureEvents | 2.2 | 2.2 | 18,672.81 us | 567.9174 us | 607.6653 us | 18,605.70 us | 18,023.30 us | 19,955.83 us | 1.00 | 0.03 | - | - | - | - |
GenericClassWithIntGenericInstanceField | 2.1 | .NET Core 2.1 | 43.68 us | 1.4881 us | 1.5282 us | 43.15 us | 42.23 us | 47.85 us | 1.00 | 0.00 | - | - | - | - |
GenericClassWithIntGenericInstanceField | 2.2 | 2.2 | 42.81 us | 0.8955 us | 0.9582 us | 42.28 us | 42.15 us | 44.94 us | 0.98 | 0.03 | - | - | - | - |
GenericClassGenericStaticField | 2.1 | .NET Core 2.1 | 34.86 us | 1.0620 us | 1.2230 us | 35.13 us | 33.43 us | 37.70 us | 1.00 | 0.00 | - | - | - | - |
GenericClassGenericStaticField | 2.2 | 2.2 | 34.66 us | 1.0079 us | 1.1202 us | 35.10 us | 33.41 us | 36.32 us | 0.99 | 0.03 | - | - | - | - |
GenericClassGenericInstanceMethod | 2.1 | .NET Core 2.1 | 154.21 us | 3.1827 us | 3.5376 us | 157.15 us | 149.92 us | 157.80 us | 1.00 | 0.00 | - | - | - | - |
GenericClassGenericInstanceMethod | 2.2 | 2.2 | 155.69 us | 4.5845 us | 4.9053 us | 152.07 us | 151.64 us | 167.87 us | 1.01 | 0.02 | - | - | - | - |
GenericClassGenericStaticMethod | 2.1 | .NET Core 2.1 | 209.95 us | 4.1349 us | 3.6655 us | 211.83 us | 202.31 us | 212.10 us | 1.00 | 0.00 | - | - | - | - |
GenericClassGenericStaticMethod | 2.2 | 2.2 | 212.03 us | 0.2753 us | 0.2299 us | 211.93 us | 211.80 us | 212.54 us | 1.01 | 0.02 | - | - | - | - |
GenericGenericMethod | 2.1 | .NET Core 2.1 | 263.90 us | 3.9348 us | 3.2858 us | 264.77 us | 252.96 us | 264.95 us | 1.00 | 0.00 | - | - | - | - |
GenericGenericMethod | 2.2 | 2.2 | 289.99 us | 2.5113 us | 2.2262 us | 291.21 us | 285.51 us | 291.47 us | 1.10 | 0.01 | - | - | - | - |
GenericClassWithSTringGenericInstanceMethod | 2.1 | .NET Core 2.1 | 170.50 us | 5.5160 us | 6.3522 us | 167.55 us | 163.49 us | 187.21 us | 1.00 | 0.00 | - | - | - | - |
GenericClassWithSTringGenericInstanceMethod | 2.2 | 2.2 | 185.48 us | 0.1972 us | 0.1540 us | 185.47 us | 185.24 us | 185.74 us | 1.07 | 0.04 | - | - | - | - |
ForeachOverList100Elements | 2.1 | .NET Core 2.1 | 21,663.45 us | 520.4947 us | 486.8710 us | 21,584.60 us | 20,590.14 us | 22,788.34 us | 1.00 | 0.00 | - | - | - | - |
ForeachOverList100Elements | 2.2 | 2.2 | 21,001.06 us | 436.2118 us | 484.8482 us | 21,432.84 us | 20,467.21 us | 21,469.45 us | 0.98 | 0.03 | - | - | - | - |
TypeReflectionObjectGetType | 2.1 | .NET Core 2.1 | 154.13 us | 3.1825 us | 3.2682 us | 152.15 us | 151.67 us | 159.06 us | 1.00 | 0.00 | - | - | - | - |
TypeReflectionObjectGetType | 2.2 | 2.2 | 154.14 us | 4.0752 us | 4.3604 us | 151.86 us | 151.66 us | 167.73 us | 1.00 | 0.02 | - | - | - | - |
TypeReflectionArrayGetType | 2.1 | .NET Core 2.1 | 158.93 us | 0.1499 us | 0.1252 us | 158.91 us | 158.82 us | 159.29 us | 1.00 | 0.00 | - | - | - | - |
TypeReflectionArrayGetType | 2.2 | 2.2 | 158.90 us | 0.0947 us | 0.0791 us | 158.91 us | 158.77 us | 159.03 us | 1.00 | 0.00 | - | - | - | - |
IntegerFormatting | 2.1 | .NET Core 2.1 | 3,038.65 us | 80.3508 us | 85.9745 us | 3,031.51 us | 2,958.16 us | 3,255.73 us | 1.00 | 0.00 | 750.0000 | - | - | 4800000 B |
IntegerFormatting | 2.2 | 2.2 | 3,094.05 us | 74.1885 us | 82.4603 us | 3,147.52 us | 3,009.44 us | 3,289.82 us | 1.02 | 0.03 | 750.0000 | - | - | 4800000 B |
from performance.
SIMD.ConsoleMandel
No significant difference.
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VectorFloatSinglethreadRawNoInt | 2.1 | 2.1 | 162.6 ms | 0.3009 ms | 0.2513 ms | 162.6 ms | 162.1 ms | 163.0 ms | 1.00 | - | - | - | 205.92 KB |
VectorFloatSinglethreadRawNoInt | 2.2 | 2.2 | 158.2 ms | 0.2463 ms | 0.2056 ms | 158.1 ms | 157.9 ms | 158.7 ms | 0.97 | - | - | - | 205.92 KB |
VectorFloatSinglethreadADTNoInt | 2.1 | 2.1 | 348.3 ms | 0.7450 ms | 0.5817 ms | 348.0 ms | 347.9 ms | 349.6 ms | 1.00 | - | - | - | 205.92 KB |
VectorFloatSinglethreadADTNoInt | 2.2 | 2.2 | 341.7 ms | 0.5721 ms | 0.4777 ms | 341.6 ms | 341.0 ms | 342.9 ms | 0.98 | - | - | - | 205.92 KB |
from performance.
SIMD.RayTracerBench
Method | Job | Toolchain | Mean | Error | StdDev | Median | Min | Max | Ratio | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
RayTracerBench | 2.1 | .NET Core 2.1 | 516.7 ms | 0.7693 ms | 0.6820 ms | 516.5 ms | 516.0 ms | 518.6 ms | 1.00 | 12000.0000 | - | - | 74.81 MB |
RayTracerBench | 2.2 | 2.2 | 519.3 ms | 0.5290 ms | 0.4418 ms | 519.4 ms | 518.8 ms | 520.0 ms | 1.01 | 12000.0000 | - | - | 74.82 MB |
from performance.
Span.IndexerBench
No significant difference.
Method | Job | Toolchain | length | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ref | 2.1 | .NET Core 2.1 | 1024 | 399.3 ns | 0.7736 ns | 0.6040 ns | 399.2 ns | 398.5 ns | 400.3 ns | 1.00 | 0.00 | - | - | - | - |
Ref | 2.2 | 2.2 | 1024 | 406.9 ns | 11.8305 ns | 13.6240 ns | 399.2 ns | 398.4 ns | 443.7 ns | 1.03 | 0.04 | - | - | - | - |
Fixed1 | 2.1 | .NET Core 2.1 | 1024 | 408.0 ns | 12.1888 ns | 13.0419 ns | 401.6 ns | 400.2 ns | 443.8 ns | 1.00 | 0.00 | - | - | - | - |
Fixed1 | 2.2 | 2.2 | 1024 | 420.1 ns | 18.0341 ns | 20.7680 ns | 420.2 ns | 401.3 ns | 461.3 ns | 1.03 | 0.05 | - | - | - | - |
Fixed2 | 2.1 | .NET Core 2.1 | 1024 | 406.6 ns | 9.8938 ns | 10.1602 ns | 401.3 ns | 400.1 ns | 429.5 ns | 1.00 | 0.00 | - | - | - | - |
Fixed2 | 2.2 | 2.2 | 1024 | 407.1 ns | 9.0841 ns | 10.0970 ns | 401.7 ns | 400.7 ns | 427.2 ns | 1.00 | 0.02 | - | - | - | - |
Indexer1 | 2.1 | .NET Core 2.1 | 1024 | 405.9 ns | 8.6466 ns | 9.6107 ns | 401.1 ns | 400.1 ns | 430.1 ns | 1.00 | 0.00 | - | - | - | - |
Indexer1 | 2.2 | 2.2 | 1024 | 407.5 ns | 12.0688 ns | 12.3937 ns | 401.2 ns | 400.3 ns | 443.2 ns | 1.00 | 0.01 | - | - | - | - |
Indexer2 | 2.1 | .NET Core 2.1 | 1024 | 405.5 ns | 8.6806 ns | 9.2882 ns | 400.1 ns | 399.3 ns | 425.4 ns | 1.00 | 0.00 | - | - | - | - |
Indexer2 | 2.2 | 2.2 | 1024 | 406.0 ns | 7.9296 ns | 8.4846 ns | 401.2 ns | 399.8 ns | 420.0 ns | 1.00 | 0.01 | - | - | - | - |
Indexer3 | 2.1 | .NET Core 2.1 | 1024 | 412.7 ns | 9.7190 ns | 10.8026 ns | 418.9 ns | 399.8 ns | 432.3 ns | 1.00 | 0.00 | - | - | - | - |
Indexer3 | 2.2 | 2.2 | 1024 | 405.0 ns | 7.6386 ns | 7.5022 ns | 401.4 ns | 400.4 ns | 420.6 ns | 0.98 | 0.03 | - | - | - | - |
Indexer4 | 2.1 | .NET Core 2.1 | 1024 | 4,076.9 ns | 122.5216 ns | 136.1825 ns | 4,001.9 ns | 3,994.5 ns | 4,374.1 ns | 1.00 | 0.00 | - | - | - | - |
Indexer4 | 2.2 | 2.2 | 1024 | 4,103.6 ns | 122.5145 ns | 131.0891 ns | 4,011.3 ns | 3,993.6 ns | 4,405.0 ns | 1.01 | 0.04 | - | - | - | - |
Indexer5 | 2.1 | .NET Core 2.1 | 1024 | 476.3 ns | 9.3007 ns | 9.5512 ns | 470.9 ns | 469.7 ns | 493.2 ns | 1.00 | 0.00 | - | - | - | - |
Indexer5 | 2.2 | 2.2 | 1024 | 479.1 ns | 10.4185 ns | 11.5801 ns | 471.4 ns | 469.6 ns | 500.2 ns | 1.01 | 0.02 | - | - | - | - |
Indexer6 | 2.1 | .NET Core 2.1 | 1024 | 534.3 ns | 10.3031 ns | 11.4518 ns | 527.2 ns | 525.6 ns | 550.8 ns | 1.00 | 0.00 | - | - | - | - |
Indexer6 | 2.2 | 2.2 | 1024 | 540.8 ns | 15.0879 ns | 16.1439 ns | 542.2 ns | 524.6 ns | 581.1 ns | 1.01 | 0.03 | - | - | - | - |
ReadOnlyIndexer1 | 2.1 | .NET Core 2.1 | 1024 | 412.9 ns | 12.7451 ns | 14.1661 ns | 412.7 ns | 399.9 ns | 444.2 ns | 1.00 | 0.00 | - | - | - | - |
ReadOnlyIndexer1 | 2.2 | 2.2 | 1024 | 405.2 ns | 14.7490 ns | 12.3161 ns | 400.6 ns | 400.1 ns | 442.5 ns | 0.97 | 0.04 | - | - | - | - |
ReadOnlyIndexer2 | 2.1 | .NET Core 2.1 | 1024 | 406.2 ns | 16.3020 ns | 13.6129 ns | 400.7 ns | 399.8 ns | 447.2 ns | 1.00 | 0.00 | - | - | - | - |
ReadOnlyIndexer2 | 2.2 | 2.2 | 1024 | 405.9 ns | 10.2757 ns | 10.5524 ns | 401.2 ns | 400.5 ns | 432.4 ns | 1.00 | 0.03 | - | - | - | - |
WriteViaIndexer1 | 2.1 | .NET Core 2.1 | 1024 | 1,584.4 ns | 38.6692 ns | 44.5315 ns | 1,610.1 ns | 1,537.2 ns | 1,675.2 ns | 1.00 | 0.00 | - | - | - | - |
WriteViaIndexer1 | 2.2 | 2.2 | 1024 | 1,552.4 ns | 28.7377 ns | 28.2242 ns | 1,539.2 ns | 1,536.6 ns | 1,609.6 ns | 0.97 | 0.03 | - | - | - | - |
WriteViaIndexer2 | 2.1 | .NET Core 2.1 | 1024 | 559.0 ns | 1.1699 ns | 0.9134 ns | 558.8 ns | 557.6 ns | 560.6 ns | 1.00 | 0.00 | - | - | - | - |
WriteViaIndexer2 | 2.2 | 2.2 | 1024 | 569.8 ns | 15.9828 ns | 17.1014 ns | 559.3 ns | 557.4 ns | 611.0 ns | 1.03 | 0.03 | - | - | - | - |
KnownSizeArray | 2.1 | .NET Core 2.1 | 1024 | 415.9 ns | 16.2693 ns | 18.7358 ns | 410.3 ns | 400.1 ns | 469.1 ns | 1.00 | 0.00 | - | - | - | - |
KnownSizeArray | 2.2 | 2.2 | 1024 | 411.6 ns | 11.8053 ns | 13.1216 ns | 402.2 ns | 400.7 ns | 444.3 ns | 0.99 | 0.04 | - | - | - | - |
KnownSizeCtor | 2.1 | .NET Core 2.1 | 1024 | 400.0 ns | 0.7845 ns | 0.6954 ns | 399.8 ns | 399.2 ns | 401.7 ns | 1.00 | 0.00 | - | - | - | - |
KnownSizeCtor | 2.2 | 2.2 | 1024 | 400.9 ns | 0.9659 ns | 0.7541 ns | 400.6 ns | 400.1 ns | 402.4 ns | 1.00 | 0.00 | - | - | - | - |
KnownSizeCtor2 | 2.1 | .NET Core 2.1 | 1024 | 418.5 ns | 12.0149 ns | 13.8364 ns | 409.8 ns | 408.6 ns | 449.8 ns | 1.00 | 0.00 | - | - | - | - |
KnownSizeCtor2 | 2.2 | 2.2 | 1024 | 426.6 ns | 5.9146 ns | 4.9390 ns | 427.5 ns | 412.1 ns | 431.6 ns | 1.01 | 0.04 | - | - | - | - |
SameIndex1 | 2.1 | .NET Core 2.1 | 1024 | 674.5 ns | 16.8034 ns | 18.6770 ns | 662.4 ns | 660.4 ns | 723.3 ns | 1.00 | 0.00 | - | - | - | - |
SameIndex1 | 2.2 | 2.2 | 1024 | 661.3 ns | 1.0586 ns | 0.9384 ns | 661.0 ns | 660.4 ns | 663.3 ns | 0.97 | 0.03 | - | - | - | - |
SameIndex2 | 2.1 | .NET Core 2.1 | 1024 | 798.5 ns | 16.6615 ns | 18.5192 ns | 786.5 ns | 783.7 ns | 835.4 ns | 1.00 | 0.00 | - | - | - | - |
SameIndex2 | 2.2 | 2.2 | 1024 | 792.2 ns | 15.1250 ns | 13.4079 ns | 785.9 ns | 784.9 ns | 822.2 ns | 0.99 | 0.02 | - | - | - | - |
CoveredIndex1 | 2.1 | .NET Core 2.1 | 1024 | 954.6 ns | 23.1154 ns | 25.6928 ns | 935.6 ns | 932.7 ns | 1,012.5 ns | 1.00 | 0.00 | - | - | - | - |
CoveredIndex1 | 2.2 | 2.2 | 1024 | 952.8 ns | 22.3200 ns | 23.8821 ns | 935.0 ns | 931.5 ns | 997.4 ns | 1.00 | 0.01 | - | - | - | - |
CoveredIndex2 | 2.1 | .NET Core 2.1 | 1024 | 810.2 ns | 20.9163 ns | 23.2484 ns | 805.8 ns | 788.6 ns | 872.2 ns | 1.00 | 0.00 | - | - | - | - |
CoveredIndex2 | 2.2 | 2.2 | 1024 | 795.3 ns | 9.6344 ns | 7.5219 ns | 791.6 ns | 789.3 ns | 809.6 ns | 0.97 | 0.03 | - | - | - | - |
CoveredIndex3 | 2.1 | .NET Core 2.1 | 1024 | 1,049.7 ns | 1.7903 ns | 1.3978 ns | 1,049.2 ns | 1,048.1 ns | 1,052.5 ns | 1.00 | 0.00 | - | - | - | - |
CoveredIndex3 | 2.2 | 2.2 | 1024 | 1,096.1 ns | 18.9889 ns | 16.8332 ns | 1,102.7 ns | 1,053.6 ns | 1,103.2 ns | 1.05 | 0.00 | - | - | - | - |
from performance.
Span.Sorting
No significant difference.
Method | Toolchain | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
QuickSortSpan | 2.1 | 512 | 8.742 us | 0.3933 us | 0.4039 us | 8.580 us | 8.345 us | 9.712 us | 1.00 | 0.00 | - | - | - | - |
QuickSortSpan | 2.2 | 512 | 8.548 us | 0.5126 us | 0.5264 us | 8.332 us | 8.153 us | 10.179 us | 0.98 | 0.08 | - | - | - | - |
BubbleSortSpan | 2.1 | 512 | 197.910 us | 4.5473 us | 5.2366 us | 195.096 us | 193.009 us | 208.401 us | 1.00 | 0.00 | - | - | - | - |
BubbleSortSpan | 2.2 | 512 | 193.488 us | 0.5960 us | 0.4654 us | 193.343 us | 193.056 us | 194.554 us | 0.98 | 0.03 | - | - | - | - |
QuickSortArray | 2.1 | 512 | 11.836 us | 0.6487 us | 0.6941 us | 11.493 us | 11.273 us | 13.546 us | 1.00 | 0.00 | - | - | - | - |
QuickSortArray | 2.2 | 512 | 11.178 us | 0.1831 us | 0.1624 us | 11.148 us | 10.982 us | 11.572 us | 0.97 | 0.03 | - | - | - | - |
BubbleSortArray | 2.1 | 512 | 188.900 us | 0.8851 us | 0.7391 us | 188.698 us | 188.332 us | 190.996 us | 1.00 | 0.00 | - | - | - | - |
BubbleSortArray | 2.2 | 512 | 185.806 us | 4.2433 us | 3.5433 us | 184.079 us | 183.608 us | 195.741 us | 0.98 | 0.02 | - | - | - | - |
from performance.
Collections.Add*
No significant difference.
Type | Method | Job | Toolchain | Count | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AddDefaultSize<Int32> | List | 2.1 | 2.1 | 512 | ? | 1,252.3 ns | 24.498 ns | 22.915 ns | 1,240.2 ns | 1,236.4 ns | 1,303.8 ns | 1.00 | 0.00 | 0.6832 | 0.0104 | - | 4.21 KB |
AddDefaultSize<Int32> | List | 2.2 | 2.2 | 512 | ? | 1,242.7 ns | 2.744 ns | 2.432 ns | 1,242.2 ns | 1,238.9 ns | 1,247.0 ns | 0.99 | 0.02 | 0.6792 | 0.0104 | - | 4.21 KB |
AddDefaultSize<String> | List | 2.1 | 2.1 | 512 | ? | 2,451.5 ns | 48.407 ns | 49.711 ns | 2,417.8 ns | 2,412.8 ns | 2,530.4 ns | 1.00 | 0.00 | 1.3242 | 0.0303 | - | 8.2 KB |
AddDefaultSize<String> | List | 2.2 | 2.2 | 512 | ? | 2,431.3 ns | 10.151 ns | 7.926 ns | 2,429.7 ns | 2,423.0 ns | 2,453.4 ns | 0.99 | 0.02 | 1.3268 | 0.0304 | - | 8.2 KB |
AddDefaultSize<Int32> | ICollection | 2.1 | 2.1 | 512 | ? | 2,062.8 ns | 57.996 ns | 59.557 ns | 2,077.5 ns | 2,003.9 ns | 2,227.4 ns | 1.00 | 0.00 | 0.6799 | 0.0084 | - | 4.21 KB |
AddDefaultSize<Int32> | ICollection | 2.2 | 2.2 | 512 | ? | 2,046.3 ns | 62.126 ns | 71.544 ns | 2,000.0 ns | 1,992.9 ns | 2,218.8 ns | 1.00 | 0.02 | 0.6789 | 0.0084 | - | 4.21 KB |
AddDefaultSize<String> | ICollection | 2.1 | 2.1 | 512 | ? | 3,510.6 ns | 73.446 ns | 78.587 ns | 3,568.4 ns | 3,421.9 ns | 3,606.3 ns | 1.00 | 0.00 | 1.3167 | 0.0286 | - | 8.2 KB |
AddDefaultSize<String> | ICollection | 2.2 | 2.2 | 512 | ? | 3,425.2 ns | 42.638 ns | 37.798 ns | 3,434.6 ns | 3,294.7 ns | 3,441.0 ns | 0.97 | 0.02 | 1.3236 | 0.0276 | - | 8.2 KB |
AddDefaultSize<Int32> | HashSet | 2.1 | 2.1 | 512 | ? | 11,405.7 ns | 56.079 ns | 43.783 ns | 11,392.2 ns | 11,358.7 ns | 11,493.6 ns | 1.00 | 0.00 | 4.3528 | 0.3785 | - | 27.06 KB |
AddDefaultSize<Int32> | HashSet | 2.2 | 2.2 | 512 | ? | 11,660.7 ns | 224.472 ns | 240.183 ns | 11,632.2 ns | 11,383.3 ns | 11,996.7 ns | 1.03 | 0.02 | 4.3826 | 0.3811 | - | 27.06 KB |
AddDefaultSize<String> | HashSet | 2.1 | 2.1 | 512 | ? | 28,337.1 ns | 614.755 ns | 657.781 ns | 27,904.3 ns | 27,730.8 ns | 29,415.3 ns | 1.00 | 0.00 | 5.3538 | 0.5819 | - | 33.67 KB |
AddDefaultSize<String> | HashSet | 2.2 | 2.2 | 512 | ? | 26,781.1 ns | 55.774 ns | 43.544 ns | 26,779.5 ns | 26,694.6 ns | 26,869.4 ns | 0.94 | 0.02 | 5.3381 | 0.5560 | - | 33.67 KB |
AddDefaultSize<Int32> | Dictionary | 2.1 | 2.1 | 512 | ? | 11,623.7 ns | 232.475 ns | 228.322 ns | 11,584.4 ns | 11,381.3 ns | 12,081.4 ns | 1.00 | 0.00 | 5.4575 | 0.6644 | - | 33.69 KB |
AddDefaultSize<Int32> | Dictionary | 2.2 | 2.2 | 512 | ? | 12,008.8 ns | 51.488 ns | 42.995 ns | 12,004.7 ns | 11,914.4 ns | 12,092.4 ns | 1.03 | 0.02 | 5.4650 | 0.6459 | - | 33.69 KB |
AddDefaultSize<String> | Dictionary | 2.1 | 2.1 | 512 | ? | 28,419.6 ns | 510.182 ns | 501.067 ns | 28,395.1 ns | 27,576.6 ns | 29,244.8 ns | 1.00 | 0.00 | 7.5827 | 1.2638 | - | 46.97 KB |
AddDefaultSize<String> | Dictionary | 2.2 | 2.2 | 512 | ? | 27,971.1 ns | 1,132.016 ns | 1,258.233 ns | 27,132.5 ns | 26,922.4 ns | 30,714.5 ns | 0.99 | 0.05 | 7.5450 | 1.2387 | - | 46.97 KB |
AddDefaultSize<Int32> | IDictionary | 2.1 | 2.1 | 512 | ? | 12,813.1 ns | 362.354 ns | 402.756 ns | 12,712.9 ns | 12,443.4 ns | 13,815.6 ns | 1.00 | 0.00 | 5.4370 | 0.6732 | - | 33.69 KB |
AddDefaultSize<Int32> | IDictionary | 2.2 | 2.2 | 512 | ? | 13,257.4 ns | 359.727 ns | 414.262 ns | 13,029.8 ns | 12,924.3 ns | 14,320.4 ns | 1.04 | 0.04 | 5.4418 | 0.6466 | - | 33.69 KB |
AddDefaultSize<String> | IDictionary | 2.1 | 2.1 | 512 | ? | 29,710.4 ns | 628.764 ns | 645.695 ns | 30,180.9 ns | 28,939.0 ns | 30,379.1 ns | 1.00 | 0.00 | 7.5097 | 1.2112 | - | 46.97 KB |
AddDefaultSize<String> | IDictionary | 2.2 | 2.2 | 512 | ? | 29,476.2 ns | 78.727 ns | 61.465 ns | 29,469.3 ns | 29,415.1 ns | 29,629.6 ns | 0.98 | 0.02 | 7.5330 | 1.0593 | - | 46.97 KB |
AddDefaultSize<Int32> | SortedList | 2.1 | 2.1 | 512 | ? | 62,875.0 ns | 440.603 ns | 343.994 ns | 62,755.0 ns | 62,483.2 ns | 63,591.3 ns | 1.00 | 0.00 | 1.2500 | - | - | 8.41 KB |
AddDefaultSize<Int32> | SortedList | 2.2 | 2.2 | 512 | ? | 61,915.4 ns | 1,972.291 ns | 2,110.329 ns | 60,929.2 ns | 60,718.0 ns | 68,075.3 ns | 0.99 | 0.04 | 1.0638 | - | - | 8.41 KB |
AddDefaultSize<String> | SortedList | 2.1 | 2.1 | 512 | ? | 591,384.5 ns | 13,452.531 ns | 15,491.955 ns | 599,133.0 ns | 571,304.0 ns | 625,574.9 ns | 1.00 | 0.00 | - | - | - | 16.38 KB |
AddDefaultSize<String> | SortedList | 2.2 | 2.2 | 512 | ? | 599,001.5 ns | 17,731.628 ns | 18,972.643 ns | 589,931.0 ns | 582,587.2 ns | 645,277.8 ns | 1.01 | 0.03 | - | - | - | 16.38 KB |
AddDefaultSize<Int32> | SortedSet | 2.1 | 2.1 | 512 | ? | 43,501.2 ns | 819.255 ns | 804.618 ns | 43,141.3 ns | 42,963.2 ns | 45,213.8 ns | 1.00 | 0.00 | 3.0620 | 0.1801 | - | 20.05 KB |
AddDefaultSize<Int32> | SortedSet | 2.2 | 2.2 | 512 | ? | 45,265.9 ns | 1,255.583 ns | 1,289.392 ns | 45,844.7 ns | 43,813.8 ns | 47,567.3 ns | 1.04 | 0.03 | 3.1158 | 0.1833 | - | 20.05 KB |
AddDefaultSize<String> | SortedSet | 2.1 | 2.1 | 512 | ? | 623,872.9 ns | 37,830.028 ns | 43,565.117 ns | 605,149.2 ns | 588,065.0 ns | 724,617.6 ns | 1.00 | 0.00 | 2.5000 | - | - | 24.05 KB |
AddDefaultSize<String> | SortedSet | 2.2 | 2.2 | 512 | ? | 600,243.4 ns | 34,483.625 ns | 39,711.394 ns | 582,846.9 ns | 555,548.6 ns | 678,029.4 ns | 0.96 | 0.07 | 2.4038 | - | - | 24.05 KB |
AddDefaultSize<Int32> | SortedDictionary | 2.1 | 2.1 | 512 | ? | 69,706.4 ns | 1,943.673 ns | 2,160.388 ns | 68,156.7 ns | 67,888.1 ns | 75,172.4 ns | 1.00 | 0.00 | 3.6932 | 0.2841 | - | 24.12 KB |
AddDefaultSize<Int32> | SortedDictionary | 2.2 | 2.2 | 512 | ? | 69,528.9 ns | 1,373.207 ns | 1,217.313 ns | 68,949.2 ns | 68,857.9 ns | 72,485.6 ns | 0.99 | 0.03 | 3.7442 | 0.2880 | - | 24.12 KB |
AddDefaultSize<String> | SortedDictionary | 2.1 | 2.1 | 512 | ? | 630,520.3 ns | 22,935.004 ns | 24,540.197 ns | 618,725.2 ns | 617,591.2 ns | 690,510.7 ns | 1.00 | 0.00 | 2.5000 | - | - | 28.12 KB |
AddDefaultSize<String> | SortedDictionary | 2.2 | 2.2 | 512 | ? | 649,476.2 ns | 7,013.013 ns | 5,475.299 ns | 647,665.4 ns | 646,953.1 ns | 666,663.2 ns | 1.02 | 0.04 | 2.7174 | - | - | 28.12 KB |
AddDefaultSize<Int32> | ConcurrentBag | 2.1 | 2.1 | 512 | ? | 15,217.2 ns | 372.359 ns | 413.876 ns | 15,367.0 ns | 14,744.0 ns | 16,316.6 ns | 1.00 | 0.00 | 1.2868 | 0.6127 | - | 8.25 KB |
AddDefaultSize<Int32> | ConcurrentBag | 2.2 | 2.2 | 512 | ? | 21,043.6 ns | 579.096 ns | 619.627 ns | 21,086.2 ns | 20,420.9 ns | 22,736.2 ns | 1.38 | 0.03 | 1.2825 | 0.5985 | - | 8.25 KB |
AddDefaultSize<String> | ConcurrentBag | 2.1 | 2.1 | 512 | ? | 20,031.4 ns | 369.726 ns | 308.738 ns | 20,201.4 ns | 19,474.0 ns | 20,283.4 ns | 1.00 | 0.00 | 2.5907 | 1.2953 | 0.0810 | 16.13 KB |
AddDefaultSize<String> | ConcurrentBag | 2.2 | 2.2 | 512 | ? | 19,549.3 ns | 389.979 ns | 417.273 ns | 19,299.5 ns | 19,136.9 ns | 20,475.2 ns | 0.98 | 0.02 | 2.5427 | 1.2303 | 0.0820 | 16.13 KB |
AddDefaultSize<Int32> | Queue | 2.1 | 2.1 | 512 | ? | 2,109.6 ns | 54.989 ns | 61.120 ns | 2,075.0 ns | 2,068.2 ns | 2,258.7 ns | 1.00 | 0.00 | 0.6803 | 0.0087 | - | 4.22 KB |
AddDefaultSize<Int32> | Queue | 2.2 | 2.2 | 512 | ? | 2,099.5 ns | 39.524 ns | 38.818 ns | 2,082.2 ns | 2,076.2 ns | 2,179.0 ns | 0.99 | 0.03 | 0.6795 | 0.0087 | - | 4.22 KB |
AddDefaultSize<String> | Queue | 2.1 | 2.1 | 512 | ? | 3,827.9 ns | 108.057 ns | 120.105 ns | 3,746.7 ns | 3,724.8 ns | 4,100.9 ns | 1.00 | 0.00 | 1.3268 | 0.0312 | - | 8.2 KB |
AddDefaultSize<String> | Queue | 2.2 | 2.2 | 512 | ? | 3,719.3 ns | 9.427 ns | 7.872 ns | 3,717.9 ns | 3,710.5 ns | 3,737.3 ns | 0.96 | 0.03 | 1.3235 | 0.0311 | - | 8.2 KB |
AddDefaultSize<Int32> | Stack | 2.1 | 2.1 | 512 | ? | 1,392.5 ns | 34.544 ns | 36.962 ns | 1,367.6 ns | 1,363.9 ns | 1,484.7 ns | 1.00 | 0.00 | 0.6799 | 0.0057 | - | 4.21 KB |
AddDefaultSize<Int32> | Stack | 2.2 | 2.2 | 512 | ? | 1,395.9 ns | 33.864 ns | 37.640 ns | 1,366.8 ns | 1,362.0 ns | 1,491.5 ns | 1.00 | 0.03 | 0.6784 | 0.0057 | - | 4.21 KB |
AddDefaultSize<String> | Stack | 2.1 | 2.1 | 512 | ? | 3,183.7 ns | 76.639 ns | 85.184 ns | 3,201.7 ns | 3,065.5 ns | 3,351.3 ns | 1.00 | 0.00 | 1.3292 | 0.0383 | - | 8.2 KB |
AddDefaultSize<String> | Stack | 2.2 | 2.2 | 512 | ? | 3,018.9 ns | 74.656 ns | 85.974 ns | 2,957.7 ns | 2,942.1 ns | 3,240.5 ns | 0.95 | 0.03 | 1.3222 | 0.0371 | - | 8.2 KB |
AddDefaultSize<Int32> | ConcurrentQueue | 2.1 | 2.1 | 512 | ? | 7,520.7 ns | 132.861 ns | 110.945 ns | 7,564.8 ns | 7,253.6 ns | 7,571.1 ns | 1.00 | 0.00 | 1.6057 | 0.0909 | - | 10 KB |
AddDefaultSize<Int32> | ConcurrentQueue | 2.2 | 2.2 | 512 | ? | 7,244.1 ns | 10.858 ns | 9.625 ns | 7,240.2 ns | 7,235.6 ns | 7,267.6 ns | 0.96 | 0.02 | 1.6041 | 0.0908 | - | 10 KB |
AddDefaultSize<String> | ConcurrentQueue | 2.1 | 2.1 | 512 | ? | 8,244.1 ns | 215.423 ns | 239.442 ns | 8,097.9 ns | 8,085.3 ns | 8,809.5 ns | 1.00 | 0.00 | 2.8791 | 0.2588 | - | 17.75 KB |
AddDefaultSize<String> | ConcurrentQueue | 2.2 | 2.2 | 512 | ? | 8,315.9 ns | 186.717 ns | 191.744 ns | 8,419.3 ns | 8,065.2 ns | 8,710.0 ns | 1.01 | 0.02 | 2.8639 | 0.2695 | - | 17.75 KB |
AddDefaultSize<Int32> | ConcurrentStack | 2.1 | 2.1 | 512 | ? | 7,073.9 ns | 130.874 ns | 116.016 ns | 7,157.2 ns | 6,873.0 ns | 7,172.8 ns | 1.00 | 0.00 | 2.5850 | 0.2298 | - | 16.02 KB |
AddDefaultSize<Int32> | ConcurrentStack | 2.2 | 2.2 | 512 | ? | 6,991.0 ns | 136.639 ns | 140.318 ns | 6,904.6 ns | 6,882.5 ns | 7,207.3 ns | 0.99 | 0.01 | 2.5898 | 0.2302 | - | 16.02 KB |
AddDefaultSize<String> | ConcurrentStack | 2.1 | 2.1 | 512 | ? | 16,769.8 ns | 323.276 ns | 286.576 ns | 16,882.5 ns | 16,131.9 ns | 16,984.8 ns | 1.00 | 0.00 | 2.5676 | 0.2027 | - | 16.02 KB |
AddDefaultSize<String> | ConcurrentStack | 2.2 | 2.2 | 512 | ? | 15,927.3 ns | 301.798 ns | 282.302 ns | 15,773.9 ns | 15,733.5 ns | 16,508.0 ns | 0.95 | 0.02 | 2.5538 | 0.2016 | - | 16.02 KB |
AddDefaultSize<Int32> | ConcurrentDictionary | 2.1 | 2.1 | 512 | ? | 67,656.3 ns | 3,556.545 ns | 4,095.723 ns | 64,927.6 ns | 64,451.4 ns | 78,351.1 ns | 1.00 | 0.00 | 19.3966 | 5.6573 | - | 121.06 KB |
AddDefaultSize<Int32> | ConcurrentDictionary | 2.2 | 2.2 | 512 | ? | 67,278.1 ns | 1,812.860 ns | 1,939.740 ns | 67,967.6 ns | 65,054.2 ns | 71,493.5 ns | 0.99 | 0.04 | 19.5652 | 5.7065 | - | 121.06 KB |
AddDefaultSize<String> | ConcurrentDictionary | 2.1 | 2.1 | 512 | ? | 120,612.3 ns | 1,096.777 ns | 856.291 ns | 120,810.8 ns | 117,930.9 ns | 121,125.7 ns | 1.00 | 0.00 | 20.8333 | 6.7829 | - | 130.14 KB |
AddDefaultSize<String> | ConcurrentDictionary | 2.2 | 2.2 | 512 | ? | 122,371.1 ns | 3,629.895 ns | 4,034.619 ns | 123,273.6 ns | 117,834.9 ns | 131,109.3 ns | 1.04 | 0.03 | 21.1614 | 6.8898 | - | 132.16 KB |
AddGivenSize<Int32> | List | 2.1 | 2.1 | ? | 512 | 947.5 ns | 17.956 ns | 16.796 ns | 938.3 ns | 934.9 ns | 977.7 ns | 1.00 | 0.00 | 0.3328 | 0.0039 | - | 2.06 KB |
AddGivenSize<Int32> | List | 2.2 | 2.2 | ? | 512 | 942.8 ns | 23.640 ns | 20.956 ns | 933.5 ns | 928.6 ns | 994.0 ns | 0.99 | 0.01 | 0.3325 | 0.0039 | - | 2.06 KB |
AddGivenSize<String> | List | 2.1 | 2.1 | ? | 512 | 1,819.7 ns | 46.045 ns | 53.026 ns | 1,782.5 ns | 1,775.3 ns | 1,972.7 ns | 1.00 | 0.00 | 0.6533 | 0.0148 | - | 4.06 KB |
AddGivenSize<String> | List | 2.2 | 2.2 | ? | 512 | 1,788.9 ns | 3.500 ns | 2.922 ns | 1,788.1 ns | 1,784.1 ns | 1,793.9 ns | 0.97 | 0.03 | 0.6572 | 0.0149 | - | 4.06 KB |
AddGivenSize<Int32> | ICollection | 2.1 | 2.1 | ? | 512 | 1,706.9 ns | 49.715 ns | 57.252 ns | 1,738.9 ns | 1,637.5 ns | 1,839.4 ns | 1.00 | 0.00 | 0.3279 | - | - | 2.06 KB |
AddGivenSize<Int32> | ICollection | 2.2 | 2.2 | ? | 512 | 1,720.1 ns | 50.782 ns | 54.337 ns | 1,745.3 ns | 1,666.0 ns | 1,862.7 ns | 1.00 | 0.03 | 0.3292 | - | - | 2.06 KB |
AddGivenSize<String> | ICollection | 2.1 | 2.1 | ? | 512 | 2,907.6 ns | 85.310 ns | 91.281 ns | 2,922.2 ns | 2,817.2 ns | 3,128.8 ns | 1.00 | 0.00 | 0.6501 | 0.0118 | - | 4.06 KB |
AddGivenSize<String> | ICollection | 2.2 | 2.2 | ? | 512 | 2,780.5 ns | 86.322 ns | 92.363 ns | 2,716.0 ns | 2,702.4 ns | 2,956.5 ns | 0.96 | 0.03 | 0.6566 | 0.0113 | - | 4.06 KB |
AddGivenSize<Int32> | HashSet | 2.1 | 2.1 | ? | 512 | 7,030.0 ns | 180.965 ns | 185.838 ns | 6,963.4 ns | 6,908.5 ns | 7,571.1 ns | 1.00 | 0.00 | 1.3130 | 0.0584 | - | 8.26 KB |
AddGivenSize<Int32> | HashSet | 2.2 | 2.2 | ? | 512 | 7,038.8 ns | 27.345 ns | 21.349 ns | 7,043.0 ns | 7,004.5 ns | 7,077.0 ns | 1.00 | 0.03 | 1.3223 | 0.0588 | - | 8.26 KB |
AddGivenSize<String> | HashSet | 2.1 | 2.1 | ? | 512 | 22,977.7 ns | 385.635 ns | 322.023 ns | 22,858.0 ns | 22,782.5 ns | 23,961.0 ns | 1.00 | 0.00 | 1.6197 | 0.0953 | - | 10.29 KB |
AddGivenSize<String> | HashSet | 2.2 | 2.2 | ? | 512 | 22,853.0 ns | 236.880 ns | 184.940 ns | 22,781.4 ns | 22,675.9 ns | 23,226.1 ns | 0.99 | 0.01 | 1.5625 | 0.0919 | - | 10.29 KB |
AddGivenSize<Int32> | Dictionary | 2.1 | 2.1 | ? | 512 | 7,029.2 ns | 135.127 ns | 144.585 ns | 6,955.7 ns | 6,871.1 ns | 7,268.5 ns | 1.00 | 0.00 | 1.6516 | 0.0869 | - | 10.3 KB |
AddGivenSize<Int32> | Dictionary | 2.2 | 2.2 | ? | 512 | 7,311.8 ns | 172.923 ns | 192.204 ns | 7,370.6 ns | 7,090.2 ns | 7,813.1 ns | 1.04 | 0.03 | 1.6408 | 0.0895 | - | 10.3 KB |
AddGivenSize<String> | Dictionary | 2.1 | 2.1 | ? | 512 | 21,600.1 ns | 609.169 ns | 677.090 ns | 21,136.8 ns | 20,998.0 ns | 23,538.2 ns | 1.00 | 0.00 | 2.2791 | 0.1753 | - | 14.38 KB |
AddGivenSize<String> | Dictionary | 2.2 | 2.2 | ? | 512 | 21,438.8 ns | 456.862 ns | 469.163 ns | 21,141.2 ns | 20,885.2 ns | 21,987.4 ns | 0.99 | 0.02 | 2.2258 | 0.1781 | - | 14.38 KB |
AddGivenSize<Int32> | IDictionary | 2.1 | 2.1 | ? | 512 | 8,115.3 ns | 242.450 ns | 269.483 ns | 7,980.7 ns | 7,886.5 ns | 8,779.3 ns | 1.00 | 0.00 | 1.6596 | 0.0996 | - | 10.3 KB |
AddGivenSize<Int32> | IDictionary | 2.2 | 2.2 | ? | 512 | 8,059.3 ns | 27.242 ns | 21.269 ns | 8,056.6 ns | 8,025.3 ns | 8,094.0 ns | 0.98 | 0.04 | 1.6527 | 0.1012 | - | 10.3 KB |
AddGivenSize<String> | IDictionary | 2.1 | 2.1 | ? | 512 | 22,619.3 ns | 111.060 ns | 92.740 ns | 22,620.3 ns | 22,475.4 ns | 22,799.9 ns | 1.00 | 0.00 | 2.2590 | 0.1883 | - | 14.38 KB |
AddGivenSize<String> | IDictionary | 2.2 | 2.2 | ? | 512 | 22,911.5 ns | 643.061 ns | 714.761 ns | 22,636.6 ns | 22,260.1 ns | 24,817.9 ns | 1.02 | 0.03 | 2.2624 | 0.1885 | - | 14.38 KB |
AddGivenSize<Int32> | SortedList | 2.1 | 2.1 | ? | 512 | 61,126.8 ns | 1,357.158 ns | 1,508.477 ns | 62,095.4 ns | 59,284.6 ns | 63,117.4 ns | 1.00 | 0.00 | 0.4960 | - | - | 4.12 KB |
AddGivenSize<Int32> | SortedList | 2.2 | 2.2 | ? | 512 | 62,051.8 ns | 2,025.920 ns | 2,251.805 ns | 62,598.7 ns | 59,635.3 ns | 66,133.3 ns | 1.02 | 0.02 | 0.5000 | - | - | 4.12 KB |
AddGivenSize<String> | SortedList | 2.1 | 2.1 | ? | 512 | 582,889.7 ns | 19,288.298 ns | 22,212.432 ns | 567,721.7 ns | 564,362.5 ns | 633,275.1 ns | 1.00 | 0.00 | - | - | - | 8.12 KB |
AddGivenSize<String> | SortedList | 2.2 | 2.2 | ? | 512 | 571,862.0 ns | 15,103.078 ns | 16,787.031 ns | 559,448.9 ns | 556,935.1 ns | 616,871.6 ns | 0.98 | 0.04 | - | - | - | 8.12 KB |
AddGivenSize<Int32> | Queue | 2.1 | 2.1 | ? | 512 | 1,928.2 ns | 50.059 ns | 46.825 ns | 1,926.6 ns | 1,847.3 ns | 2,029.7 ns | 1.00 | 0.00 | 0.3347 | - | - | 2.07 KB |
AddGivenSize<Int32> | Queue | 2.2 | 2.2 | ? | 512 | 1,717.0 ns | 37.759 ns | 40.402 ns | 1,694.3 ns | 1,689.7 ns | 1,800.4 ns | 0.89 | 0.03 | 0.3337 | - | - | 2.07 KB |
AddGivenSize<String> | Queue | 2.1 | 2.1 | ? | 512 | 3,197.3 ns | 91.561 ns | 105.442 ns | 3,126.8 ns | 3,108.0 ns | 3,459.3 ns | 1.00 | 0.00 | 0.6512 | 0.0130 | - | 4.07 KB |
AddGivenSize<String> | Queue | 2.2 | 2.2 | ? | 512 | 3,057.6 ns | 60.838 ns | 67.621 ns | 3,090.6 ns | 2,966.5 ns | 3,180.9 ns | 0.96 | 0.02 | 0.6528 | 0.0128 | - | 4.07 KB |
AddGivenSize<Int32> | Stack | 2.1 | 2.1 | ? | 512 | 1,031.9 ns | 2.457 ns | 1.918 ns | 1,031.2 ns | 1,029.4 ns | 1,035.5 ns | 1.00 | 0.00 | 0.3331 | 0.0043 | - | 2.06 KB |
AddGivenSize<Int32> | Stack | 2.2 | 2.2 | ? | 512 | 1,062.8 ns | 25.628 ns | 28.486 ns | 1,077.7 ns | 1,031.2 ns | 1,133.0 ns | 1.05 | 0.02 | 0.3339 | 0.0043 | - | 2.06 KB |
AddGivenSize<String> | Stack | 2.1 | 2.1 | ? | 512 | 2,536.3 ns | 66.670 ns | 74.104 ns | 2,572.3 ns | 2,455.7 ns | 2,733.5 ns | 1.00 | 0.00 | 0.6487 | 0.0103 | - | 4.06 KB |
AddGivenSize<String> | Stack | 2.2 | 2.2 | ? | 512 | 2,238.9 ns | 41.733 ns | 36.995 ns | 2,221.3 ns | 2,213.3 ns | 2,321.6 ns | 0.87 | 0.03 | 0.6574 | 0.0093 | - | 4.06 KB |
AddGivenSize<Int32> | ConcurrentDictionary | 2.1 | 2.1 | ? | 512 | 31,900.5 ns | 736.965 ns | 788.545 ns | 31,332.0 ns | 31,194.7 ns | 33,739.2 ns | 1.00 | 0.00 | 8.0898 | 1.5658 | - | 50.62 KB |
AddGivenSize<Int32> | ConcurrentDictionary | 2.2 | 2.2 | ? | 512 | 32,127.1 ns | 841.738 ns | 935.589 ns | 31,882.7 ns | 31,250.9 ns | 34,094.8 ns | 1.01 | 0.02 | 8.1067 | 1.5690 | - | 50.62 KB |
AddGivenSize<String> | ConcurrentDictionary | 2.1 | 2.1 | ? | 512 | 76,532.7 ns | 1,508.322 ns | 1,259.518 ns | 75,972.3 ns | 75,786.1 ns | 79,369.5 ns | 1.00 | 0.00 | 9.2005 | 1.5863 | - | 58.54 KB |
AddGivenSize<String> | ConcurrentDictionary | 2.2 | 2.2 | ? | 512 | 77,718.2 ns | 416.957 ns | 348.178 ns | 77,595.4 ns | 77,403.9 ns | 78,552.9 ns | 1.02 | 0.02 | 9.2822 | 1.8564 | - | 58.3 KB |
from performance.
Collections.Clear*
No significant difference. However, the benchmarks could have been more stable.
Method | Toolchain | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Array | .NET Core 2.1 | 512 | 204.5334 ns | 55.6395 ns | 64.0745 ns | 242.0815 ns | 109.0807 ns | 257.0495 ns | 1.00 | 0.00 | - | - | - | - |
Array | 2.2 | 512 | 109.8409 ns | 0.1709 ns | 0.1598 ns | 109.7839 ns | 109.4988 ns | 110.0690 ns | 0.49 | 0.15 | - | - | - | - |
Span | .NET Core 2.1 | 512 | 186.8142 ns | 57.4237 ns | 66.1292 ns | 230.3068 ns | 109.1377 ns | 297.5912 ns | 1.00 | 0.00 | - | - | - | - |
Span | 2.2 | 512 | 107.0754 ns | 1.0269 ns | 0.9606 ns | 107.3415 ns | 104.4905 ns | 107.9117 ns | 0.73 | 0.27 | - | - | - | - |
List | .NET Core 2.1 | 512 | 0.7533 ns | 1.3551 ns | 1.5062 ns | 0.0000 ns | 0.0000 ns | 4.0057 ns | ? | ? | - | - | - | - |
List | 2.2 | 512 | 0.9501 ns | 0.0922 ns | 0.0947 ns | 0.9836 ns | 0.6985 ns | 0.9836 ns | ? | ? | - | - | - | - |
LinkedList | .NET Core 2.1 | 512 | 2,641.7750 ns | 29.5587 ns | 24.6829 ns | 2,633.3316 ns | 2,626.4891 ns | 2,709.1692 ns | 1.00 | 0.00 | - | - | - | - |
LinkedList | 2.2 | 512 | 2,809.9676 ns | 132.8861 ns | 153.0318 ns | 2,755.2277 ns | 2,662.8541 ns | 3,208.2574 ns | 1.09 | 0.06 | - | - | - | - |
HashSet | .NET Core 2.1 | 512 | 640.5567 ns | 120.5432 ns | 138.8177 ns | 595.6101 ns | 470.8772 ns | 894.2562 ns | 1.00 | 0.00 | - | - | - | - |
HashSet | 2.2 | 512 | 658.7178 ns | 187.9358 ns | 216.4271 ns | 595.5958 ns | 431.2336 ns | 1,293.6722 ns | 1.06 | 0.36 | - | - | - | - |
Dictionary | .NET Core 2.1 | 512 | 817.2212 ns | 156.7017 ns | 180.4580 ns | 766.2589 ns | 616.4369 ns | 1,150.7212 ns | 1.00 | 0.00 | - | - | - | - |
Dictionary | 2.2 | 512 | 774.1135 ns | 118.8892 ns | 136.9130 ns | 744.1206 ns | 609.4091 ns | 1,050.4645 ns | 1.00 | 0.30 | - | - | - | - |
SortedList | .NET Core 2.1 | 512 | 1.3828 ns | 0.1212 ns | 0.1395 ns | 1.2830 ns | 1.2830 ns | 1.5681 ns | 1.00 | 0.00 | - | - | - | - |
SortedList | 2.2 | 512 | 0.4229 ns | 0.2285 ns | 0.2445 ns | 0.4704 ns | 0.1853 ns | 0.7555 ns | 0.31 | 0.19 | - | - | - | - |
SortedSet | .NET Core 2.1 | 512 | 5.3787 ns | 0.2271 ns | 0.2524 ns | 5.2887 ns | 5.0036 ns | 5.8589 ns | 1.00 | 0.00 | - | - | - | - |
SortedSet | 2.2 | 512 | 5.5595 ns | 0.2768 ns | 0.3188 ns | 5.4883 ns | 5.2031 ns | 6.0585 ns | 1.04 | 0.07 | - | - | - | - |
SortedDictionary | .NET Core 2.1 | 512 | 14.8314 ns | 0.7989 ns | 0.8880 ns | 14.7114 ns | 13.2858 ns | 16.4220 ns | 1.00 | 0.00 | - | - | - | - |
SortedDictionary | 2.2 | 512 | 16.3935 ns | 1.0773 ns | 1.2406 ns | 16.3222 ns | 14.1839 ns | 18.7456 ns | 1.10 | 0.11 | - | - | - | - |
ConcurrentDictionary | .NET Core 2.1 | 512 | 26,598.1812 ns | 238.6552 ns | 211.5617 ns | 26,628.1986 ns | 26,101.4695 ns | 26,961.6273 ns | 1.00 | 0.00 | 1.0000 | - | - | 6480 B |
ConcurrentDictionary | 2.2 | 512 | 26,641.1576 ns | 257.6274 ns | 215.1305 ns | 26,684.1644 ns | 26,168.4119 ns | 26,861.7840 ns | 1.00 | 0.01 | 1.0000 | - | - | 6480 B |
Stack | .NET Core 2.1 | 512 | 1.3064 ns | 0.0922 ns | 0.0947 ns | 1.3400 ns | 1.0549 ns | 1.3400 ns | 1.00 | 0.00 | - | - | - | - |
Stack | 2.2 | 512 | 1.5788 ns | 0.0726 ns | 0.0713 ns | 1.5966 ns | 1.3115 ns | 1.5966 ns | 1.22 | 0.13 | - | - | - | - |
ConcurrentStack | .NET Core 2.1 | 512 | 2.3949 ns | 0.2949 ns | 0.3396 ns | 2.3806 ns | 1.8104 ns | 2.9508 ns | 1.00 | 0.00 | - | - | - | - |
ConcurrentStack | 2.2 | 512 | 2.6245 ns | 0.1437 ns | 0.1538 ns | 2.6087 ns | 2.3236 ns | 2.8938 ns | 1.11 | 0.15 | - | - | - | - |
Queue | .NET Core 2.1 | 512 | 1.5966 ns | 0.0000 ns | 0.0000 ns | 1.5966 ns | 1.5966 ns | 1.5966 ns | 1.00 | 0.00 | - | - | - | - |
Queue | 2.2 | 512 | 2.0745 ns | 1.2073 ns | 1.3419 ns | 1.0691 ns | 1.0691 ns | 4.2053 ns | 1.52 | 0.88 | - | - | - | - |
ConcurrentQueue | .NET Core 2.1 | 512 | 298.3367 ns | 17.4210 ns | 20.0621 ns | 299.7194 ns | 270.7814 ns | 325.8064 ns | 1.00 | 0.00 | - | - | - | 704 B |
ConcurrentQueue | 2.2 | 512 | 318.6960 ns | 8.4387 ns | 8.2879 ns | 315.8806 ns | 308.3254 ns | 334.2698 ns | 1.06 | 0.07 | - | - | - | 704 B |
String
Method | Toolchain | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Array | .NET Core 2.1 | 512 | 218.364 ns | 4.1969 ns | 3.5046 ns | 219.373 ns | 214.241 ns | 225.645 ns | 1.00 | 0.00 | - | - | - | - |
Array | 2.2 | 512 | 227.655 ns | 7.2878 ns | 7.1576 ns | 226.372 ns | 219.387 ns | 242.196 ns | 1.05 | 0.03 | - | - | - | - |
Span | .NET Core 2.1 | 512 | 228.259 ns | 1.4342 ns | 1.1197 ns | 227.926 ns | 227.356 ns | 231.062 ns | 1.00 | 0.00 | - | - | - | - |
Span | 2.2 | 512 | 228.632 ns | 3.0648 ns | 2.5592 ns | 227.185 ns | 226.615 ns | 233.742 ns | 1.00 | 0.01 | - | - | - | - |
List | .NET Core 2.1 | 512 | 228.382 ns | 10.8513 ns | 11.6108 ns | 221.112 ns | 219.687 ns | 260.171 ns | 1.00 | 0.00 | - | - | - | - |
List | 2.2 | 512 | 259.128 ns | 50.4696 ns | 54.0019 ns | 245.759 ns | 217.819 ns | 391.447 ns | 1.13 | 0.21 | - | - | - | - |
LinkedList | .NET Core 2.1 | 512 | 2,694.628 ns | 17.2280 ns | 14.3861 ns | 2,688.114 ns | 2,677.280 ns | 2,718.620 ns | 1.00 | 0.00 | - | - | - | - |
LinkedList | 2.2 | 512 | 2,687.173 ns | 17.5356 ns | 16.4028 ns | 2,680.958 ns | 2,671.550 ns | 2,728.000 ns | 1.00 | 0.01 | - | - | - | - |
HashSet | .NET Core 2.1 | 512 | 941.398 ns | 63.1016 ns | 72.6679 ns | 935.725 ns | 842.638 ns | 1,089.253 ns | 1.00 | 0.00 | - | - | - | - |
HashSet | 2.2 | 512 | 1,000.407 ns | 36.6529 ns | 37.6398 ns | 997.891 ns | 914.356 ns | 1,080.857 ns | 1.07 | 0.09 | - | - | - | - |
Dictionary | .NET Core 2.1 | 512 | 1,589.225 ns | 101.9981 ns | 117.4611 ns | 1,611.349 ns | 1,401.655 ns | 1,815.911 ns | 1.00 | 0.00 | - | - | - | - |
Dictionary | 2.2 | 512 | 1,432.891 ns | 65.2260 ns | 72.4986 ns | 1,397.208 ns | 1,370.408 ns | 1,602.767 ns | 0.90 | 0.06 | - | - | - | - |
SortedList | .NET Core 2.1 | 512 | 387.181 ns | 6.6278 ns | 5.8754 ns | 384.248 ns | 381.683 ns | 397.363 ns | 1.00 | 0.00 | - | - | - | - |
SortedList | 2.2 | 512 | 390.072 ns | 7.6882 ns | 6.4200 ns | 386.277 ns | 383.997 ns | 399.392 ns | 1.01 | 0.01 | - | - | - | - |
SortedSet | .NET Core 2.1 | 512 | 6.144 ns | 0.2396 ns | 0.2760 ns | 6.172 ns | 5.602 ns | 6.743 ns | 1.00 | 0.00 | - | - | - | - |
SortedSet | 2.2 | 512 | 6.294 ns | 0.1797 ns | 0.1765 ns | 6.401 ns | 5.830 ns | 6.401 ns | 1.02 | 0.05 | - | - | - | - |
SortedDictionary | .NET Core 2.1 | 512 | 16.080 ns | 0.6787 ns | 0.7816 ns | 16.108 ns | 13.970 ns | 17.391 ns | 1.00 | 0.00 | - | - | - | - |
SortedDictionary | 2.2 | 512 | 15.577 ns | 0.5323 ns | 0.5228 ns | 15.524 ns | 14.383 ns | 16.379 ns | 0.97 | 0.07 | - | - | - | - |
ConcurrentDictionary | .NET Core 2.1 | 512 | 28,788.367 ns | 170.2397 ns | 132.9119 ns | 28,746.718 ns | 28,632.962 ns | 29,007.018 ns | 1.00 | 0.00 | 1.0000 | - | - | 6480 B |
ConcurrentDictionary | 2.2 | 512 | 29,342.058 ns | 155.1345 ns | 129.5443 ns | 29,282.471 ns | 29,178.693 ns | 29,563.013 ns | 1.02 | 0.01 | 1.0000 | - | - | 6480 B |
Stack | .NET Core 2.1 | 512 | 208.851 ns | 13.3524 ns | 14.8412 ns | 203.749 ns | 196.052 ns | 252.217 ns | 1.00 | 0.00 | - | - | - | - |
Stack | 2.2 | 512 | 223.218 ns | 25.6060 ns | 25.1486 ns | 213.828 ns | 206.415 ns | 308.197 ns | 1.06 | 0.16 | - | - | - | - |
ConcurrentStack | .NET Core 2.1 | 512 | 2.442 ns | 0.2044 ns | 0.2187 ns | 2.537 ns | 1.967 ns | 2.823 ns | 1.00 | 0.00 | - | - | - | - |
ConcurrentStack | 2.2 | 512 | 2.609 ns | 0.2032 ns | 0.2340 ns | 2.637 ns | 2.210 ns | 3.065 ns | 1.09 | 0.13 | - | - | - | - |
Queue | .NET Core 2.1 | 512 | 347.385 ns | 146.6287 ns | 168.8578 ns | 249.366 ns | 227.128 ns | 629.694 ns | 1.00 | 0.00 | - | - | - | - |
Queue | 2.2 | 512 | 229.405 ns | 6.6657 ns | 6.5466 ns | 227.570 ns | 223.721 ns | 249.665 ns | 0.80 | 0.23 | - | - | - | - |
ConcurrentQueue | .NET Core 2.1 | 512 | 490.423 ns | 9.1861 ns | 7.6708 ns | 492.331 ns | 474.085 ns | 500.599 ns | 1.00 | 0.00 | - | - | - | 960 B |
ConcurrentQueue | 2.2 | 512 | 496.028 ns | 4.2382 ns | 3.3089 ns | 497.121 ns | 487.142 ns | 499.687 ns | 1.01 | 0.02 | - | - | - | 960 B |
from performance.
System.Collections.Concurrent*
No significant difference.
System.Collections.Concurrent.Count<String>.Dictionary
is multimodal. The results below show one of it's modes.
Type | Method | Job | Toolchain | MaxWarmupIterationCount | MinWarmupIterationCount | UnrollFactor | WarmupCount | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Count<Int32> | Dictionary | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 12,380.2105 ns | 504.5618 ns | 539.8755 ns | 12,063.2490 ns | 12,041.3777 ns | 13,879.4916 ns | 1.00 | 0.00 | - | - | - | - |
Count<Int32> | Dictionary | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 12,699.6088 ns | 356.1290 ns | 381.0540 ns | 12,826.3686 ns | 12,245.4319 ns | 13,544.4486 ns | 1.03 | 0.04 | - | - | - | - |
Count<String> | Dictionary | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 6,903.2086 ns | 172.1325 ns | 198.2281 ns | 6,775.0899 ns | 6,734.9068 ns | 7,459.9552 ns | 1.00 | 0.00 | - | - | - | - |
Count<String> | Dictionary | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 3,418.2066 ns | 99.6492 ns | 110.7599 ns | 3,359.9069 ns | 3,353.2659 ns | 3,747.1591 ns | 0.49 | 0.02 | - | - | - | - |
IsEmpty<Int32> | Dictionary | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 11,677.2617 ns | 306.4738 ns | 340.6448 ns | 11,416.0372 ns | 11,388.6966 ns | 12,596.4698 ns | 1.00 | 0.00 | - | - | - | - |
IsEmpty<Int32> | Dictionary | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 11,701.9119 ns | 291.3974 ns | 323.8875 ns | 11,441.6861 ns | 11,394.8227 ns | 12,289.8450 ns | 1.00 | 0.01 | - | - | - | - |
IsEmpty<String> | Dictionary | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 12,790.4982 ns | 242.0940 ns | 259.0379 ns | 12,652.7767 ns | 12,593.2048 ns | 13,296.2282 ns | 1.00 | 0.00 | - | - | - | - |
IsEmpty<String> | Dictionary | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 13,038.6756 ns | 323.6278 ns | 359.7114 ns | 13,210.8137 ns | 12,634.5203 ns | 13,762.7478 ns | 1.02 | 0.03 | - | - | - | - |
Count<Int32> | Queue | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 11.5915 ns | 0.3543 ns | 0.3938 ns | 11.3342 ns | 11.2878 ns | 12.6364 ns | 1.00 | 0.00 | - | - | - | - |
Count<Int32> | Queue | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 11.5035 ns | 0.0169 ns | 0.0150 ns | 11.5010 ns | 11.4848 ns | 11.5303 ns | 0.98 | 0.03 | - | - | - | - |
Count<String> | Queue | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 12.5386 ns | 0.3243 ns | 0.3470 ns | 12.3504 ns | 12.3287 ns | 13.4825 ns | 1.00 | 0.00 | - | - | - | - |
Count<String> | Queue | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 12.3661 ns | 0.3404 ns | 0.3642 ns | 12.1692 ns | 12.1369 ns | 13.4800 ns | 0.99 | 0.03 | - | - | - | - |
IsEmpty<Int32> | Queue | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 4.8164 ns | 0.1213 ns | 0.1075 ns | 4.7637 ns | 4.7476 ns | 5.0493 ns | 1.00 | 0.00 | - | - | - | - |
IsEmpty<Int32> | Queue | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 4.9455 ns | 0.0268 ns | 0.0210 ns | 4.9377 ns | 4.9272 ns | 5.0048 ns | 1.03 | 0.02 | - | - | - | - |
IsEmpty<String> | Queue | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 6.9295 ns | 0.0545 ns | 0.0425 ns | 6.9227 ns | 6.8822 ns | 7.0114 ns | 1.00 | 0.00 | - | - | - | - |
IsEmpty<String> | Queue | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 6.5996 ns | 0.0365 ns | 0.0342 ns | 6.6033 ns | 6.5255 ns | 6.6484 ns | 0.95 | 0.01 | - | - | - | - |
Count<Int32> | Stack | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 555.3869 ns | 36.7609 ns | 42.3339 ns | 526.6256 ns | 525.1977 ns | 637.1260 ns | 1.00 | 0.00 | - | - | - | - |
Count<Int32> | Stack | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 537.6043 ns | 12.6457 ns | 14.0557 ns | 527.3048 ns | 525.3862 ns | 568.1417 ns | 0.97 | 0.05 | - | - | - | - |
Count<String> | Stack | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 537.7206 ns | 11.2097 ns | 12.4595 ns | 529.5153 ns | 525.4191 ns | 550.7070 ns | 1.00 | 0.00 | - | - | - | - |
Count<String> | Stack | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 534.7010 ns | 11.0800 ns | 12.3154 ns | 526.2251 ns | 524.7286 ns | 550.7314 ns | 0.99 | 0.01 | - | - | - | - |
IsEmpty<Int32> | Stack | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 0.0087 ns | 0.0032 ns | 0.0030 ns | 0.0093 ns | 0.0028 ns | 0.0124 ns | 1.000 | 0.00 | - | - | - | - |
IsEmpty<Int32> | Stack | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.000 | 0.00 | - | - | - | - |
IsEmpty<String> | Stack | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.0000 ns | ? | ? | - | - | - | - |
IsEmpty<String> | Stack | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.0000 ns | 0.0000 ns | ? | ? | - | - | - | - |
Count<Int32> | Bag | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 36.7567 ns | 0.8829 ns | 0.9813 ns | 36.0894 ns | 35.8693 ns | 38.8513 ns | 1.00 | 0.00 | - | - | - | - |
Count<Int32> | Bag | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 40.6491 ns | 1.1729 ns | 1.3037 ns | 39.7093 ns | 39.6333 ns | 44.2368 ns | 1.11 | 0.02 | - | - | - | - |
Count<String> | Bag | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 44.7430 ns | 0.0482 ns | 0.0402 ns | 44.7353 ns | 44.6929 ns | 44.8244 ns | 1.00 | 0.00 | - | - | - | - |
Count<String> | Bag | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 37.6591 ns | 0.8736 ns | 0.9348 ns | 37.1309 ns | 36.9816 ns | 39.9958 ns | 0.85 | 0.02 | - | - | - | - |
IsEmpty<Int32> | Bag | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 13.1872 ns | 0.3185 ns | 0.3408 ns | 13.0168 ns | 12.9901 ns | 14.0600 ns | 1.00 | 0.00 | - | - | - | - |
IsEmpty<Int32> | Bag | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 13.0436 ns | 0.0434 ns | 0.0362 ns | 13.0389 ns | 13.0006 ns | 13.1233 ns | 0.99 | 0.03 | - | - | - | - |
IsEmpty<String> | Bag | 2.1 | 2.1 | Default | Default | 16 | 1 | 512 | 14.8909 ns | 0.3030 ns | 0.2686 ns | 14.7768 ns | 14.7320 ns | 15.5198 ns | 1.00 | 0.00 | - | - | - | - |
IsEmpty<String> | Bag | 2.2 | 2.2 | Default | Default | 16 | 1 | 512 | 14.9301 ns | 0.8463 ns | 0.9056 ns | 14.4444 ns | 14.4056 ns | 17.3396 ns | 1.01 | 0.06 | - | - | - | - |
AddRemoveFromDifferentThreads<Int32> | ConcurrentBag | Default | 2.1 | 10 | 6 | 1 | -1 | 2000000 | 389,964,707.0150 ns | 17,009,229.2570 ns | 19,587,853.7065 ns | 384,976,946.5150 ns | 365,587,758.3300 ns | 419,620,891.9400 ns | 1.00 | 0.00 | 2000.0000 | 2000.0000 | 2000.0000 | 184 B |
AddRemoveFromDifferentThreads<Int32> | ConcurrentBag | Default | 2.2 | 10 | 6 | 1 | -1 | 2000000 | 350,560,091.4211 ns | 17,489,975.0682 ns | 19,440,060.9467 ns | 345,383,073.8500 ns | 326,222,111.1600 ns | 398,216,776.3000 ns | 0.90 | 0.07 | 2000.0000 | 2000.0000 | 2000.0000 | 184 B |
AddRemoveFromDifferentThreads<String> | ConcurrentBag | Default | 2.1 | 10 | 6 | 1 | -1 | 2000000 | 365,182,740.0535 ns | 21,565,660.7793 ns | 24,835,047.0234 ns | 362,549,522.5100 ns | 326,138,504.5100 ns | 423,569,549.3300 ns | 1.00 | 0.00 | 2000.0000 | 2000.0000 | 2000.0000 | 184 B |
AddRemoveFromDifferentThreads<String> | ConcurrentBag | Default | 2.2 | 10 | 6 | 1 | -1 | 2000000 | 363,144,676.4300 ns | 19,294,305.4470 ns | 22,219,350.8449 ns | 357,902,674.7300 ns | 338,242,638.0500 ns | 418,384,425.8100 ns | 1.00 | 0.10 | 2000.0000 | 2000.0000 | 2000.0000 | 184 B |
AddRemoveFromSameThreads<Int32> | ConcurrentBag | Default | 2.1 | 10 | 6 | 1 | -1 | 2000000 | 395,559,453.2385 ns | 19,929,104.4434 ns | 22,950,386.3133 ns | 400,436,222.8750 ns | 355,551,781.1000 ns | 438,946,031.5800 ns | 1.00 | 0.00 | - | - | - | 144 B |
AddRemoveFromSameThreads<Int32> | ConcurrentBag | Default | 2.2 | 10 | 6 | 1 | -1 | 2000000 | 398,638,216.5510 ns | 18,824,566.3991 ns | 21,678,398.6588 ns | 396,030,886.4200 ns | 373,403,490.7000 ns | 442,320,461.6600 ns | 1.01 | 0.09 | - | - | - | 144 B |
AddRemoveFromSameThreads<String> | ConcurrentBag | Default | 2.1 | 10 | 6 | 1 | -1 | 2000000 | 410,668,660.5526 ns | 13,809,025.0775 ns | 15,348,694.7851 ns | 410,926,484.3100 ns | 374,258,445.3400 ns | 440,243,410.1100 ns | 1.00 | 0.00 | - | - | - | 144 B |
AddRemoveFromSameThreads<String> | ConcurrentBag | Default | 2.2 | 10 | 6 | 1 | -1 | 2000000 | 415,812,120.6690 ns | 16,353,690.5830 ns | 18,832,934.3947 ns | 417,218,152.2050 ns | 387,397,305.6600 ns | 449,052,686.0200 ns | 1.01 | 0.05 | - | - | - | 144 B |
AddRemoveFromDifferentThreads<Int32> | ConcurrentStack | Default | 2.1 | 10 | 6 | 1 | -1 | 2000000 | 254,744,467.2775 ns | 43,591,076.7010 ns | 50,199,548.7524 ns | 246,230,943.6700 ns | 164,933,773.2700 ns | 348,193,853.9600 ns | 1.00 | 0.00 | 10000.0000 | 5000.0000 | 1000.0000 | 184 B |
AddRemoveFromDifferentThreads<Int32> | ConcurrentStack | Default | 2.2 | 10 | 6 | 1 | -1 | 2000000 | 241,498,037.3470 ns | 46,097,875.4735 ns | 53,086,381.9466 ns | 246,997,402.1350 ns | 152,731,578.3100 ns | 325,998,204.9900 ns | 0.99 | 0.33 | 10000.0000 | 5000.0000 | 1000.0000 | 184 B |
AddRemoveFromDifferentThreads<String> | ConcurrentStack | Default | 2.1 | 10 | 6 | 1 | -1 | 2000000 | 316,681,957.7275 ns | 37,954,845.1159 ns | 43,708,856.0775 ns | 329,260,147.4100 ns | 240,505,092.5200 ns | 389,509,396.4500 ns | 1.00 | 0.00 | 10000.0000 | 5000.0000 | 1000.0000 | 184 B |
AddRemoveFromDifferentThreads<String> | ConcurrentStack | Default | 2.2 | 10 | 6 | 1 | -1 | 2000000 | 317,572,108.4215 ns | 32,416,166.7408 ns | 37,330,505.8242 ns | 311,627,340.4200 ns | 252,675,313.1000 ns | 385,450,945.6300 ns | 1.02 | 0.21 | 10000.0000 | 6000.0000 | 1000.0000 | 184 B |
AddRemoveFromSameThreads<Int32> | ConcurrentStack | Default | 2.1 | 10 | 6 | 1 | -1 | 2000000 | 149,807,098.8535 ns | 27,254,603.3077 ns | 31,386,441.6990 ns | 143,447,020.3250 ns | 97,775,122.2000 ns | 212,218,303.3100 ns | 1.00 | 0.00 | 20000.0000 | - | - | 144 B |
AddRemoveFromSameThreads<Int32> | ConcurrentStack | Default | 2.2 | 10 | 6 | 1 | -1 | 2000000 | 169,549,915.3805 ns | 27,889,601.7726 ns | 32,117,706.8754 ns | 166,915,714.2300 ns | 112,192,487.1800 ns | 215,438,221.4500 ns | 1.18 | 0.32 | 20000.0000 | - | - | 144 B |
AddRemoveFromSameThreads<String> | ConcurrentStack | Default | 2.1 | 10 | 6 | 1 | -1 | 2000000 | 269,249,287.8115 ns | 29,872,623.0012 ns | 34,401,357.0713 ns | 262,075,181.2700 ns | 212,428,082.6000 ns | 325,875,966.7900 ns | 1.00 | 0.00 | 20000.0000 | - | - | 144 B |
AddRemoveFromSameThreads<String> | ConcurrentStack | Default | 2.2 | 10 | 6 | 1 | -1 | 2000000 | 254,529,727.1900 ns | 33,641,235.5305 ns | 38,741,296.8642 ns | 260,341,993.2650 ns | 186,914,111.9500 ns | 314,951,606.5000 ns | 0.96 | 0.18 | 20000.0000 | - | - | 144 B |
AddRemoveFromDifferentThreads<Int32> | ConcurrentQueue | Default | 2.1 | 10 | 6 | 1 | -1 | 2000000 | 53,196,169.0050 ns | 9,000,939.8301 ns | 10,365,495.6935 ns | 52,755,170.6400 ns | 35,081,023.6100 ns | 72,466,383.4300 ns | 1.00 | 0.00 | 1000.0000 | 1000.0000 | 1000.0000 | 184 B |
AddRemoveFromDifferentThreads<Int32> | ConcurrentQueue | Default | 2.2 | 10 | 6 | 1 | -1 | 2000000 | 55,359,036.7595 ns | 11,156,037.0426 ns | 12,847,308.8482 ns | 55,237,611.1050 ns | 32,492,182.4600 ns | 78,933,860.5100 ns | 1.08 | 0.33 | - | - | - | 184 B |
AddRemoveFromDifferentThreads<String> | ConcurrentQueue | Default | 2.1 | 10 | 6 | 1 | -1 | 2000000 | 59,987,024.9315 ns | 10,401,167.7619 ns | 11,978,000.2619 ns | 58,443,730.2300 ns | 41,673,789.5100 ns | 87,541,553.8600 ns | 1.00 | 0.00 | - | - | - | 184 B |
AddRemoveFromDifferentThreads<String> | ConcurrentQueue | Default | 2.2 | 10 | 6 | 1 | -1 | 2000000 | 59,111,129.4220 ns | 13,420,193.0001 ns | 15,454,714.2158 ns | 56,617,042.4700 ns | 28,693,845.9800 ns | 93,358,780.7400 ns | 1.02 | 0.34 | - | - | - | 184 B |
AddRemoveFromSameThreads<Int32> | ConcurrentQueue | Default | 2.1 | 10 | 6 | 1 | -1 | 2000000 | 100,408,182.9320 ns | 11,255,753.0842 ns | 12,962,141.9899 ns | 100,407,584.2150 ns | 80,397,725.3300 ns | 118,247,233.9200 ns | 1.00 | 0.00 | - | - | - | 144 B |
AddRemoveFromSameThreads<Int32> | ConcurrentQueue | Default | 2.2 | 10 | 6 | 1 | -1 | 2000000 | 115,218,178.4380 ns | 16,127,642.5443 ns | 18,572,617.1371 ns | 115,893,261.1750 ns | 91,755,386.1800 ns | 155,998,652.6000 ns | 1.16 | 0.19 | - | - | - | 144 B |
AddRemoveFromSameThreads<String> | ConcurrentQueue | Default | 2.1 | 10 | 6 | 1 | -1 | 2000000 | 123,226,271.0016 ns | 12,182,537.1560 ns | 13,540,857.7699 ns | 120,177,072.1900 ns | 103,915,613.8700 ns | 153,580,674.0800 ns | 1.00 | 0.00 | - | - | - | 144 B |
AddRemoveFromSameThreads<String> | ConcurrentQueue | Default | 2.2 | 10 | 6 | 1 | -1 | 2000000 | 129,008,814.2655 ns | 10,339,036.3743 ns | 11,906,449.6636 ns | 128,384,793.5950 ns | 97,814,979.6900 ns | 150,248,681.6800 ns | 1.06 | 0.17 | - | - | - | 144 B |
from performance.
System.Collections.Contains*
Type | Method | Job | Toolchain | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ContainsFalse<Int32> | Array | 2.1 | 2.1 | 512 | 128.681 us | 4.2901 us | 4.5904 us | 125.765 us | 124.979 us | 141.285 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<Int32> | Array | 2.2 | 2.2 | 512 | 130.968 us | 5.0374 us | 5.8011 us | 131.329 us | 125.262 us | 141.779 us | 1.02 | 0.06 | - | - | - | - |
ContainsFalse<String> | Array | 2.1 | 2.1 | 512 | 861.523 us | 0.5428 us | 0.4532 us | 861.391 us | 860.962 us | 862.390 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<String> | Array | 2.2 | 2.2 | 512 | 971.038 us | 31.4413 us | 33.6418 us | 964.155 us | 940.749 us | 1,037.803 us | 1.14 | 0.04 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | Dictionary | 2.1 | 2.1 | 512 | 3.680 us | 0.1191 us | 0.1323 us | 3.659 us | 3.528 us | 3.982 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | Dictionary | 2.2 | 2.2 | 512 | 3.492 us | 0.1144 us | 0.1317 us | 3.453 us | 3.359 us | 3.776 us | 0.95 | 0.03 | - | - | - | - |
ContainsKeyFalse<String, String> | Dictionary | 2.1 | 2.1 | 512 | 15.740 us | 0.3694 us | 0.4106 us | 15.507 us | 15.313 us | 16.932 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<String, String> | Dictionary | 2.2 | 2.2 | 512 | 15.399 us | 0.0787 us | 0.0697 us | 15.398 us | 15.259 us | 15.504 us | 0.97 | 0.02 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | Dictionary | 2.1 | 2.1 | 512 | 3.949 us | 0.1112 us | 0.1281 us | 3.881 us | 3.817 us | 4.263 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | Dictionary | 2.2 | 2.2 | 512 | 3.908 us | 0.1452 us | 0.1673 us | 3.889 us | 3.715 us | 4.259 us | 0.99 | 0.04 | - | - | - | - |
ContainsKeyTrue<String, String> | Dictionary | 2.1 | 2.1 | 512 | 16.741 us | 0.2740 us | 0.2139 us | 16.678 us | 16.570 us | 17.345 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<String, String> | Dictionary | 2.2 | 2.2 | 512 | 17.192 us | 0.3328 us | 0.3268 us | 17.058 us | 16.836 us | 17.848 us | 1.03 | 0.02 | - | - | - | - |
ContainsTrue<Int32> | Array | 2.1 | 2.1 | 512 | 69.920 us | 2.0586 us | 2.2026 us | 70.964 us | 67.635 us | 75.009 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<Int32> | Array | 2.2 | 2.2 | 512 | 69.239 us | 1.9268 us | 2.1416 us | 67.900 us | 67.755 us | 74.395 us | 0.99 | 0.03 | - | - | - | - |
ContainsTrue<String> | Array | 2.1 | 2.1 | 512 | 424.016 us | 11.2222 us | 12.4735 us | 431.649 us | 411.720 us | 455.773 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<String> | Array | 2.2 | 2.2 | 512 | 480.998 us | 17.0027 us | 18.8984 us | 467.427 us | 465.883 us | 522.212 us | 1.13 | 0.04 | - | - | - | - |
ContainsFalse<Int32> | List | 2.1 | 2.1 | 512 | 126.838 us | 3.7544 us | 3.8555 us | 124.707 us | 124.139 us | 137.618 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<Int32> | List | 2.2 | 2.2 | 512 | 128.097 us | 3.8849 us | 4.4738 us | 125.035 us | 124.374 us | 138.570 us | 1.02 | 0.04 | - | - | - | - |
ContainsFalse<String> | List | 2.1 | 2.1 | 512 | 906.832 us | 23.7992 us | 26.4528 us | 920.784 us | 877.840 us | 975.401 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<String> | List | 2.2 | 2.2 | 512 | 962.383 us | 26.6855 us | 28.5532 us | 946.992 us | 936.769 us | 1,037.753 us | 1.06 | 0.03 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | IDictionary | 2.1 | 2.1 | 512 | 5.408 us | 0.1815 us | 0.1697 us | 5.376 us | 5.207 us | 5.798 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | IDictionary | 2.2 | 2.2 | 512 | 5.627 us | 0.2278 us | 0.2437 us | 5.524 us | 5.273 us | 6.246 us | 1.05 | 0.04 | - | - | - | - |
ContainsKeyFalse<String, String> | IDictionary | 2.1 | 2.1 | 512 | 16.392 us | 0.4124 us | 0.4584 us | 16.192 us | 16.039 us | 17.793 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<String, String> | IDictionary | 2.2 | 2.2 | 512 | 16.577 us | 0.4127 us | 0.4416 us | 16.318 us | 16.144 us | 17.487 us | 1.01 | 0.01 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | IDictionary | 2.1 | 2.1 | 512 | 4.809 us | 0.1203 us | 0.1235 us | 4.757 us | 4.635 us | 5.006 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | IDictionary | 2.2 | 2.2 | 512 | 5.154 us | 0.1210 us | 0.1295 us | 5.092 us | 5.050 us | 5.506 us | 1.07 | 0.03 | - | - | - | - |
ContainsKeyTrue<String, String> | IDictionary | 2.1 | 2.1 | 512 | 17.780 us | 0.5071 us | 0.5426 us | 17.478 us | 17.268 us | 19.273 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<String, String> | IDictionary | 2.2 | 2.2 | 512 | 17.752 us | 0.5196 us | 0.5775 us | 17.520 us | 17.176 us | 19.192 us | 1.00 | 0.03 | - | - | - | - |
ContainsTrue<Int32> | List | 2.1 | 2.1 | 512 | 68.457 us | 1.8222 us | 2.0984 us | 67.095 us | 66.916 us | 73.703 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<Int32> | List | 2.2 | 2.2 | 512 | 72.178 us | 4.1181 us | 4.7424 us | 70.993 us | 66.823 us | 81.593 us | 1.05 | 0.07 | - | - | - | - |
ContainsTrue<String> | List | 2.1 | 2.1 | 512 | 454.582 us | 13.1997 us | 14.6715 us | 454.391 us | 439.751 us | 486.467 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<String> | List | 2.2 | 2.2 | 512 | 506.618 us | 14.0810 us | 15.6510 us | 498.475 us | 494.718 us | 544.853 us | 1.11 | 0.03 | - | - | - | - |
ContainsFalse<Int32> | ICollection | 2.1 | 2.1 | 512 | 131.619 us | 0.7768 us | 0.6487 us | 131.321 us | 131.206 us | 133.359 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<Int32> | ICollection | 2.2 | 2.2 | 512 | 129.958 us | 3.4482 us | 3.6895 us | 131.231 us | 125.210 us | 137.505 us | 1.00 | 0.02 | - | - | - | - |
ContainsFalse<String> | ICollection | 2.1 | 2.1 | 512 | 905.788 us | 19.1183 us | 21.2499 us | 922.114 us | 879.359 us | 936.317 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<String> | ICollection | 2.2 | 2.2 | 512 | 984.058 us | 0.7878 us | 0.6579 us | 984.134 us | 983.148 us | 985.259 us | 1.08 | 0.02 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | SortedList | 2.1 | 2.1 | 512 | 30.283 us | 0.9206 us | 0.9850 us | 30.031 us | 29.093 us | 32.845 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | SortedList | 2.2 | 2.2 | 512 | 29.850 us | 0.9052 us | 1.0424 us | 29.676 us | 28.161 us | 31.934 us | 0.99 | 0.04 | - | - | - | - |
ContainsKeyFalse<String, String> | SortedList | 2.1 | 2.1 | 512 | 628.863 us | 16.9682 us | 18.1558 us | 635.095 us | 605.155 us | 666.198 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<String, String> | SortedList | 2.2 | 2.2 | 512 | 638.403 us | 6.5602 us | 5.4781 us | 635.993 us | 635.212 us | 654.742 us | 1.00 | 0.03 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | SortedList | 2.1 | 2.1 | 512 | 30.493 us | 0.8237 us | 0.8814 us | 30.528 us | 29.550 us | 32.722 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | SortedList | 2.2 | 2.2 | 512 | 29.865 us | 0.7940 us | 0.8825 us | 29.544 us | 28.930 us | 31.991 us | 0.98 | 0.02 | - | - | - | - |
ContainsKeyTrue<String, String> | SortedList | 2.1 | 2.1 | 512 | 510.383 us | 0.6819 us | 0.5694 us | 510.332 us | 509.578 us | 511.390 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<String, String> | SortedList | 2.2 | 2.2 | 512 | 499.743 us | 12.3431 us | 12.6754 us | 492.151 us | 491.072 us | 529.459 us | 0.98 | 0.03 | - | - | - | - |
ContainsTrue<Int32> | ICollection | 2.1 | 2.1 | 512 | 70.861 us | 1.0951 us | 0.9144 us | 71.114 us | 67.834 us | 71.245 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<Int32> | ICollection | 2.2 | 2.2 | 512 | 69.981 us | 1.7568 us | 1.9527 us | 70.899 us | 67.654 us | 74.862 us | 1.00 | 0.02 | - | - | - | - |
ContainsTrue<String> | ICollection | 2.1 | 2.1 | 512 | 460.098 us | 7.1929 us | 6.0064 us | 461.230 us | 446.580 us | 467.081 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<String> | ICollection | 2.2 | 2.2 | 512 | 507.627 us | 9.1603 us | 7.6493 us | 511.086 us | 492.032 us | 517.303 us | 1.10 | 0.02 | - | - | - | - |
ContainsFalse<Int32> | LinkedList | 2.1 | 2.1 | 512 | 416.909 us | 10.5915 us | 12.1972 us | 421.316 us | 402.311 us | 448.246 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<Int32> | LinkedList | 2.2 | 2.2 | 512 | 419.624 us | 8.3185 us | 6.9463 us | 422.317 us | 403.660 us | 422.964 us | 0.99 | 0.03 | - | - | - | - |
ContainsFalse<String> | LinkedList | 2.1 | 2.1 | 512 | 1,769.352 us | 48.1029 us | 53.4663 us | 1,731.173 us | 1,727.705 us | 1,917.213 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<String> | LinkedList | 2.2 | 2.2 | 512 | 1,844.735 us | 47.2265 us | 52.4922 us | 1,874.627 us | 1,790.662 us | 1,983.337 us | 1.04 | 0.03 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | SortedDictionary | 2.1 | 2.1 | 512 | 54.985 us | 1.0036 us | 0.8380 us | 54.678 us | 54.559 us | 57.542 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | SortedDictionary | 2.2 | 2.2 | 512 | 59.266 us | 1.9379 us | 2.0735 us | 57.993 us | 57.860 us | 63.980 us | 1.09 | 0.04 | - | - | - | - |
ContainsKeyFalse<String, String> | SortedDictionary | 2.1 | 2.1 | 512 | 717.317 us | 21.9306 us | 24.3758 us | 724.927 us | 691.384 us | 765.469 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<String, String> | SortedDictionary | 2.2 | 2.2 | 512 | 700.933 us | 18.6531 us | 20.7328 us | 711.769 us | 679.411 us | 752.313 us | 0.98 | 0.03 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | SortedDictionary | 2.1 | 2.1 | 512 | 52.431 us | 1.3116 us | 1.5104 us | 51.467 us | 51.198 us | 56.831 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | SortedDictionary | 2.2 | 2.2 | 512 | 54.147 us | 2.5112 us | 2.7912 us | 53.600 us | 51.204 us | 61.150 us | 1.03 | 0.06 | - | - | - | - |
ContainsKeyTrue<String, String> | SortedDictionary | 2.1 | 2.1 | 512 | 564.341 us | 13.2458 us | 15.2539 us | 570.104 us | 544.675 us | 598.261 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<String, String> | SortedDictionary | 2.2 | 2.2 | 512 | 551.873 us | 12.1008 us | 12.9477 us | 562.273 us | 537.121 us | 566.130 us | 0.98 | 0.03 | - | - | - | - |
ContainsTrue<Int32> | LinkedList | 2.1 | 2.1 | 512 | 209.451 us | 5.7598 us | 6.4020 us | 204.458 us | 203.580 us | 225.577 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<Int32> | LinkedList | 2.2 | 2.2 | 512 | 210.242 us | 6.5168 us | 7.2434 us | 204.814 us | 204.147 us | 227.934 us | 1.00 | 0.01 | - | - | - | - |
ContainsTrue<String> | LinkedList | 2.1 | 2.1 | 512 | 934.735 us | 56.8082 us | 65.4204 us | 925.730 us | 865.377 us | 1,054.074 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<String> | LinkedList | 2.2 | 2.2 | 512 | 940.752 us | 0.4526 us | 0.3780 us | 940.716 us | 939.861 us | 941.395 us | 0.98 | 0.06 | - | - | - | - |
ContainsFalse<Int32> | HashSet | 2.1 | 2.1 | 512 | 5.515 us | 0.1268 us | 0.1245 us | 5.474 us | 5.369 us | 5.799 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<Int32> | HashSet | 2.2 | 2.2 | 512 | 5.765 us | 0.1726 us | 0.1918 us | 5.707 us | 5.535 us | 6.260 us | 1.05 | 0.04 | - | - | - | - |
ContainsFalse<String> | HashSet | 2.1 | 2.1 | 512 | 20.935 us | 0.6524 us | 0.7513 us | 20.914 us | 20.095 us | 22.703 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<String> | HashSet | 2.2 | 2.2 | 512 | 20.290 us | 0.5827 us | 0.6477 us | 19.924 us | 19.692 us | 22.056 us | 0.97 | 0.03 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | ConcurrentDictionary | 2.1 | 2.1 | 512 | 5.894 us | 0.1611 us | 0.1791 us | 5.805 us | 5.713 us | 6.357 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | ConcurrentDictionary | 2.2 | 2.2 | 512 | 6.037 us | 0.1404 us | 0.1560 us | 5.975 us | 5.846 us | 6.412 us | 1.02 | 0.02 | - | - | - | - |
ContainsKeyFalse<String, String> | ConcurrentDictionary | 2.1 | 2.1 | 512 | 22.204 us | 0.5526 us | 0.6143 us | 21.800 us | 21.603 us | 23.563 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<String, String> | ConcurrentDictionary | 2.2 | 2.2 | 512 | 21.032 us | 0.4058 us | 0.4511 us | 20.820 us | 20.687 us | 21.829 us | 0.95 | 0.02 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | ConcurrentDictionary | 2.1 | 2.1 | 512 | 6.739 us | 0.1744 us | 0.1866 us | 6.822 us | 6.526 us | 7.203 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | ConcurrentDictionary | 2.2 | 2.2 | 512 | 6.788 us | 0.1899 us | 0.2187 us | 6.667 us | 6.636 us | 7.351 us | 1.01 | 0.03 | - | - | - | - |
ContainsKeyTrue<String, String> | ConcurrentDictionary | 2.1 | 2.1 | 512 | 26.150 us | 0.8989 us | 1.0352 us | 25.608 us | 25.222 us | 28.357 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<String, String> | ConcurrentDictionary | 2.2 | 2.2 | 512 | 25.946 us | 0.6578 us | 0.7576 us | 25.413 us | 25.234 us | 27.896 us | 0.99 | 0.03 | - | - | - | - |
ContainsTrue<Int32> | HashSet | 2.1 | 2.1 | 512 | 7.324 us | 0.2038 us | 0.2266 us | 7.212 us | 7.131 us | 7.877 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<Int32> | HashSet | 2.2 | 2.2 | 512 | 7.139 us | 0.1910 us | 0.2199 us | 6.992 us | 6.939 us | 7.729 us | 0.98 | 0.03 | - | - | - | - |
ContainsTrue<String> | HashSet | 2.1 | 2.1 | 512 | 25.102 us | 0.5674 us | 0.6306 us | 24.778 us | 24.593 us | 26.595 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<String> | HashSet | 2.2 | 2.2 | 512 | 22.762 us | 0.4844 us | 0.5183 us | 22.558 us | 22.374 us | 24.238 us | 0.91 | 0.01 | - | - | - | - |
ContainsFalse<Int32> | Queue | 2.1 | 2.1 | 512 | 133.281 us | 4.5769 us | 5.0872 us | 134.457 us | 128.240 us | 145.643 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<Int32> | Queue | 2.2 | 2.2 | 512 | 134.962 us | 0.1416 us | 0.1106 us | 134.956 us | 134.852 us | 135.250 us | 0.99 | 0.03 | - | - | - | - |
ContainsFalse<String> | Queue | 2.1 | 2.1 | 512 | 904.825 us | 23.8961 us | 25.5686 us | 887.456 us | 883.212 us | 963.874 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<String> | Queue | 2.2 | 2.2 | 512 | 989.692 us | 4.9652 us | 4.4015 us | 990.718 us | 974.594 us | 992.287 us | 1.09 | 0.03 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | ImmutableDictionary | 2.1 | 2.1 | 512 | 26.683 us | 0.7702 us | 0.8870 us | 26.797 us | 25.601 us | 28.573 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | ImmutableDictionary | 2.2 | 2.2 | 512 | 26.194 us | 0.6372 us | 0.7083 us | 25.758 us | 25.623 us | 27.656 us | 0.98 | 0.04 | - | - | - | - |
ContainsKeyFalse<String, String> | ImmutableDictionary | 2.1 | 2.1 | 512 | 47.719 us | 1.5371 us | 1.7701 us | 46.490 us | 46.166 us | 52.285 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<String, String> | ImmutableDictionary | 2.2 | 2.2 | 512 | 46.330 us | 1.6276 us | 1.8091 us | 45.472 us | 44.801 us | 51.139 us | 0.97 | 0.03 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | ImmutableDictionary | 2.1 | 2.1 | 512 | 31.553 us | 1.0135 us | 1.0408 us | 31.012 us | 30.839 us | 34.172 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | ImmutableDictionary | 2.2 | 2.2 | 512 | 31.626 us | 0.6222 us | 0.5196 us | 31.870 us | 30.612 us | 32.244 us | 1.00 | 0.03 | - | - | - | - |
ContainsKeyTrue<String, String> | ImmutableDictionary | 2.1 | 2.1 | 512 | 63.749 us | 1.8624 us | 1.9927 us | 62.699 us | 62.434 us | 69.607 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<String, String> | ImmutableDictionary | 2.2 | 2.2 | 512 | 65.770 us | 0.7902 us | 0.7005 us | 65.826 us | 63.573 us | 66.463 us | 1.03 | 0.03 | - | - | - | - |
ContainsTrue<Int32> | Queue | 2.1 | 2.1 | 512 | 70.216 us | 2.1778 us | 2.4206 us | 70.785 us | 67.482 us | 75.538 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<Int32> | Queue | 2.2 | 2.2 | 512 | 70.606 us | 0.9092 us | 0.7099 us | 70.771 us | 68.372 us | 71.077 us | 0.99 | 0.03 | - | - | - | - |
ContainsTrue<String> | Queue | 2.1 | 2.1 | 512 | 452.750 us | 10.6530 us | 11.8408 us | 460.191 us | 439.007 us | 476.111 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<String> | Queue | 2.2 | 2.2 | 512 | 506.502 us | 9.6625 us | 9.0383 us | 503.562 us | 495.703 us | 531.967 us | 1.11 | 0.03 | - | - | - | - |
ContainsFalse<Int32> | Stack | 2.1 | 2.1 | 512 | 113.022 us | 3.1014 us | 3.5715 us | 114.524 us | 109.305 us | 121.875 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<Int32> | Stack | 2.2 | 2.2 | 512 | 111.722 us | 2.8884 us | 3.0905 us | 109.423 us | 109.167 us | 119.192 us | 0.99 | 0.03 | - | - | - | - |
ContainsFalse<String> | Stack | 2.1 | 2.1 | 512 | 920.220 us | 3.4990 us | 2.9218 us | 920.817 us | 910.689 us | 922.043 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<String> | Stack | 2.2 | 2.2 | 512 | 906.983 us | 24.1556 us | 26.8489 us | 922.511 us | 880.363 us | 973.666 us | 1.00 | 0.03 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | ImmutableSortedDictionary | 2.1 | 2.1 | 512 | 35.284 us | 1.1572 us | 1.2862 us | 34.507 us | 34.319 us | 38.539 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<Int32, Int32> | ImmutableSortedDictionary | 2.2 | 2.2 | 512 | 31.835 us | 1.0158 us | 1.0869 us | 31.292 us | 30.923 us | 34.645 us | 0.90 | 0.03 | - | - | - | - |
ContainsKeyFalse<String, String> | ImmutableSortedDictionary | 2.1 | 2.1 | 512 | 651.132 us | 10.1445 us | 7.9202 us | 652.245 us | 627.213 us | 660.449 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyFalse<String, String> | ImmutableSortedDictionary | 2.2 | 2.2 | 512 | 669.514 us | 0.8994 us | 0.7973 us | 669.287 us | 668.561 us | 671.133 us | 1.03 | 0.01 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | ImmutableSortedDictionary | 2.1 | 2.1 | 512 | 27.622 us | 0.7899 us | 0.8780 us | 27.204 us | 26.666 us | 30.011 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<Int32, Int32> | ImmutableSortedDictionary | 2.2 | 2.2 | 512 | 30.185 us | 0.6412 us | 0.7126 us | 30.606 us | 29.332 us | 31.342 us | 1.09 | 0.03 | - | - | - | - |
ContainsKeyTrue<String, String> | ImmutableSortedDictionary | 2.1 | 2.1 | 512 | 496.010 us | 8.4107 us | 6.5665 us | 497.825 us | 475.195 us | 498.427 us | 1.00 | 0.00 | - | - | - | - |
ContainsKeyTrue<String, String> | ImmutableSortedDictionary | 2.2 | 2.2 | 512 | 491.078 us | 12.5631 us | 14.4677 us | 480.178 us | 478.793 us | 528.478 us | 1.01 | 0.03 | - | - | - | - |
ContainsTrue<Int32> | Stack | 2.1 | 2.1 | 512 | 61.537 us | 1.7933 us | 1.9188 us | 60.281 us | 60.034 us | 65.634 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<Int32> | Stack | 2.2 | 2.2 | 512 | 61.077 us | 1.3892 us | 1.5440 us | 60.095 us | 59.823 us | 64.651 us | 0.99 | 0.02 | - | - | - | - |
ContainsTrue<String> | Stack | 2.1 | 2.1 | 512 | 453.252 us | 15.1470 us | 15.5548 us | 449.992 us | 439.267 us | 490.021 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<String> | Stack | 2.2 | 2.2 | 512 | 465.269 us | 16.8172 us | 17.9943 us | 466.190 us | 444.998 us | 506.145 us | 1.03 | 0.03 | - | - | - | - |
ContainsFalse<Int32> | SortedSet | 2.1 | 2.1 | 512 | 34.132 us | 0.8305 us | 0.8886 us | 33.742 us | 33.511 us | 36.255 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<Int32> | SortedSet | 2.2 | 2.2 | 512 | 29.461 us | 0.6522 us | 0.7250 us | 29.118 us | 28.844 us | 31.052 us | 0.86 | 0.01 | - | - | - | - |
ContainsFalse<String> | SortedSet | 2.1 | 2.1 | 512 | 628.606 us | 18.4266 us | 19.7163 us | 616.526 us | 613.257 us | 678.486 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<String> | SortedSet | 2.2 | 2.2 | 512 | 616.726 us | 19.3357 us | 21.4916 us | 601.732 us | 598.784 us | 663.826 us | 0.98 | 0.01 | - | - | - | - |
ContainsTrue<Int32> | SortedSet | 2.1 | 2.1 | 512 | 30.188 us | 0.8847 us | 0.9833 us | 29.645 us | 29.460 us | 32.974 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<Int32> | SortedSet | 2.2 | 2.2 | 512 | 27.273 us | 0.6653 us | 0.7394 us | 27.506 us | 26.264 us | 28.704 us | 0.90 | 0.03 | - | - | - | - |
ContainsTrue<String> | SortedSet | 2.1 | 2.1 | 512 | 511.515 us | 15.4374 us | 17.7778 us | 516.031 us | 494.724 us | 551.254 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<String> | SortedSet | 2.2 | 2.2 | 512 | 467.079 us | 12.4455 us | 13.3165 us | 460.524 us | 459.244 us | 508.253 us | 0.91 | 0.03 | - | - | - | - |
ContainsFalse<Int32> | ImmutableArray | 2.1 | 2.1 | 512 | 133.631 us | 5.3660 us | 5.7416 us | 132.127 us | 128.615 us | 149.705 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<Int32> | ImmutableArray | 2.2 | 2.2 | 512 | 131.898 us | 4.5717 us | 4.8916 us | 129.011 us | 128.807 us | 144.295 us | 0.99 | 0.03 | - | - | - | - |
ContainsFalse<String> | ImmutableArray | 2.1 | 2.1 | 512 | 912.259 us | 22.9271 us | 24.5317 us | 925.538 us | 882.963 us | 966.855 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<String> | ImmutableArray | 2.2 | 2.2 | 512 | 985.587 us | 14.9585 us | 12.4911 us | 988.733 us | 944.127 us | 991.449 us | 1.07 | 0.02 | - | - | - | - |
ContainsTrue<Int32> | ImmutableArray | 2.1 | 2.1 | 512 | 73.352 us | 1.7443 us | 1.9388 us | 74.652 us | 71.371 us | 77.332 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<Int32> | ImmutableArray | 2.2 | 2.2 | 512 | 73.722 us | 2.2589 us | 2.5108 us | 73.493 us | 71.330 us | 78.942 us | 1.01 | 0.03 | - | - | - | - |
ContainsTrue<String> | ImmutableArray | 2.1 | 2.1 | 512 | 455.287 us | 9.4741 us | 10.5305 us | 448.214 us | 446.828 us | 469.348 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<String> | ImmutableArray | 2.2 | 2.2 | 512 | 494.548 us | 10.8986 us | 12.1137 us | 503.379 us | 479.738 us | 508.519 us | 1.09 | 0.02 | - | - | - | - |
ContainsFalse<Int32> | ImmutableHashSet | 2.1 | 2.1 | 512 | 26.580 us | 0.4176 us | 0.3487 us | 26.446 us | 26.402 us | 27.501 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<Int32> | ImmutableHashSet | 2.2 | 2.2 | 512 | 27.511 us | 0.6500 us | 0.6955 us | 27.898 us | 26.558 us | 28.533 us | 1.05 | 0.02 | - | - | - | - |
ContainsFalse<String> | ImmutableHashSet | 2.1 | 2.1 | 512 | 48.691 us | 1.3320 us | 1.4806 us | 47.751 us | 47.543 us | 52.813 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<String> | ImmutableHashSet | 2.2 | 2.2 | 512 | 50.171 us | 1.6038 us | 1.7826 us | 48.955 us | 48.520 us | 54.310 us | 1.03 | 0.03 | - | - | - | - |
ContainsTrue<Int32> | ImmutableHashSet | 2.1 | 2.1 | 512 | 29.313 us | 0.6676 us | 0.7143 us | 28.979 us | 28.872 us | 31.299 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<Int32> | ImmutableHashSet | 2.2 | 2.2 | 512 | 28.466 us | 0.5892 us | 0.6549 us | 28.036 us | 27.871 us | 29.485 us | 0.97 | 0.02 | - | - | - | - |
ContainsTrue<String> | ImmutableHashSet | 2.1 | 2.1 | 512 | 55.906 us | 3.1420 us | 3.6183 us | 55.252 us | 52.752 us | 64.106 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<String> | ImmutableHashSet | 2.2 | 2.2 | 512 | 54.292 us | 1.0783 us | 1.1985 us | 53.610 us | 53.526 us | 56.546 us | 0.97 | 0.05 | - | - | - | - |
ContainsFalse<Int32> | ImmutableList | 2.1 | 2.1 | 512 | 12,975.065 us | 329.5491 us | 379.5093 us | 12,719.556 us | 12,695.487 us | 13,797.110 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<Int32> | ImmutableList | 2.2 | 2.2 | 512 | 13,158.129 us | 400.5556 us | 461.2804 us | 12,891.288 us | 12,866.092 us | 14,306.071 us | 1.01 | 0.02 | - | - | - | - |
ContainsFalse<String> | ImmutableList | 2.1 | 2.1 | 512 | 23,269.868 us | 85.6778 us | 71.5448 us | 23,242.507 us | 23,179.014 us | 23,427.824 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<String> | ImmutableList | 2.2 | 2.2 | 512 | 22,995.791 us | 629.1077 us | 724.4813 us | 22,691.002 us | 22,358.457 us | 25,011.176 us | 1.00 | 0.03 | - | - | - | - |
ContainsTrue<Int32> | ImmutableList | 2.1 | 2.1 | 512 | 6,675.803 us | 227.0507 us | 261.4720 us | 6,513.117 us | 6,459.785 us | 7,293.434 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<Int32> | ImmutableList | 2.2 | 2.2 | 512 | 6,640.925 us | 157.1563 us | 174.6788 us | 6,747.038 us | 6,440.973 us | 6,955.556 us | 0.99 | 0.03 | - | - | - | - |
ContainsTrue<String> | ImmutableList | 2.1 | 2.1 | 512 | 11,572.416 us | 409.7848 us | 455.4747 us | 11,334.599 us | 11,296.413 us | 12,672.047 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<String> | ImmutableList | 2.2 | 2.2 | 512 | 11,642.392 us | 354.5223 us | 394.0507 us | 11,385.740 us | 11,365.097 us | 12,562.514 us | 1.01 | 0.04 | - | - | - | - |
ContainsFalse<Int32> | ImmutableSortedSet | 2.1 | 2.1 | 512 | 32.443 us | 0.9139 us | 0.9779 us | 32.053 us | 31.344 us | 35.155 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<Int32> | ImmutableSortedSet | 2.2 | 2.2 | 512 | 32.349 us | 0.9859 us | 1.1353 us | 32.262 us | 31.059 us | 34.810 us | 1.00 | 0.04 | - | - | - | - |
ContainsFalse<String> | ImmutableSortedSet | 2.1 | 2.1 | 512 | 645.605 us | 17.8627 us | 19.8543 us | 653.194 us | 622.726 us | 695.483 us | 1.00 | 0.00 | - | - | - | - |
ContainsFalse<String> | ImmutableSortedSet | 2.2 | 2.2 | 512 | 632.979 us | 15.5187 us | 17.8714 us | 620.152 us | 618.165 us | 680.210 us | 0.98 | 0.03 | - | - | - | - |
ContainsTrue<Int32> | ImmutableSortedSet | 2.1 | 2.1 | 512 | 26.572 us | 0.9360 us | 1.0404 us | 26.393 us | 25.518 us | 28.639 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<Int32> | ImmutableSortedSet | 2.2 | 2.2 | 512 | 26.480 us | 0.7147 us | 0.7944 us | 26.800 us | 25.573 us | 28.090 us | 1.00 | 0.03 | - | - | - | - |
ContainsTrue<String> | ImmutableSortedSet | 2.1 | 2.1 | 512 | 488.319 us | 16.9010 us | 18.0839 us | 485.359 us | 471.680 us | 535.578 us | 1.00 | 0.00 | - | - | - | - |
ContainsTrue<String> | ImmutableSortedSet | 2.2 | 2.2 | 512 | 497.096 us | 1.0823 us | 1.0124 us | 496.811 us | 496.009 us | 499.551 us | 1.01 | 0.04 | - | - | - | - |
from performance.
System.Collections.Indexers
No significant difference. Difference visible in the results below gone after re-run.
Type | Method | Job | Toolchain | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IndexerSet<Int32> | Array | 2.1 | 2.1 | 512 | 182.7 ns | 3.9479 ns | 4.3881 ns | 180.2 ns | 178.9 ns | 192.8 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<Int32> | Array | 2.2 | 2.2 | 512 | 178.7 ns | 3.4373 ns | 3.0471 ns | 177.4 ns | 176.9 ns | 186.0 ns | 0.97 | 0.02 | - | - | - | - |
IndexerSet<String> | Array | 2.1 | 2.1 | 512 | 180.0 ns | 0.9033 ns | 0.7052 ns | 179.8 ns | 179.1 ns | 181.3 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<String> | Array | 2.2 | 2.2 | 512 | 181.0 ns | 3.5513 ns | 3.9472 ns | 179.0 ns | 177.4 ns | 188.8 ns | 1.01 | 0.02 | - | - | - | - |
IndexerSetReverse<Int32> | Array | 2.1 | 2.1 | 512 | 207.3 ns | 5.1991 ns | 5.7788 ns | 204.4 ns | 203.6 ns | 223.6 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSetReverse<Int32> | Array | 2.2 | 2.2 | 512 | 209.5 ns | 5.4296 ns | 6.2527 ns | 204.9 ns | 204.1 ns | 223.9 ns | 1.01 | 0.03 | - | - | - | - |
IndexerSetReverse<String> | Array | 2.1 | 2.1 | 512 | 209.4 ns | 4.4293 ns | 4.9231 ns | 208.7 ns | 204.2 ns | 216.6 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSetReverse<String> | Array | 2.2 | 2.2 | 512 | 209.4 ns | 5.4952 ns | 6.1079 ns | 207.5 ns | 203.7 ns | 225.7 ns | 1.00 | 0.02 | - | - | - | - |
IndexerSet<Int32> | Span | 2.1 | 2.1 | 512 | 178.3 ns | 5.2735 ns | 5.6426 ns | 174.9 ns | 174.4 ns | 191.5 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<Int32> | Span | 2.2 | 2.2 | 512 | 182.8 ns | 4.0488 ns | 4.3322 ns | 180.1 ns | 179.3 ns | 193.0 ns | 1.03 | 0.02 | - | - | - | - |
IndexerSet<String> | Span | 2.1 | 2.1 | 512 | 288.7 ns | 5.8969 ns | 6.3097 ns | 284.5 ns | 283.9 ns | 297.7 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<String> | Span | 2.2 | 2.2 | 512 | 302.1 ns | 7.9175 ns | 8.8002 ns | 296.5 ns | 295.8 ns | 327.2 ns | 1.05 | 0.02 | - | - | - | - |
IndexerSetReverse<Int32> | Span | 2.1 | 2.1 | 512 | 209.7 ns | 5.9964 ns | 6.6649 ns | 205.9 ns | 204.9 ns | 224.5 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSetReverse<Int32> | Span | 2.2 | 2.2 | 512 | 208.7 ns | 4.1264 ns | 4.5865 ns | 205.8 ns | 205.2 ns | 215.4 ns | 1.00 | 0.01 | - | - | - | - |
IndexerSetReverse<String> | Span | 2.1 | 2.1 | 512 | 248.6 ns | 5.0316 ns | 4.9417 ns | 246.5 ns | 245.6 ns | 260.5 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSetReverse<String> | Span | 2.2 | 2.2 | 512 | 251.0 ns | 5.6821 ns | 6.3157 ns | 247.3 ns | 246.7 ns | 265.8 ns | 1.01 | 0.02 | - | - | - | - |
IndexerSet<Int32> | List | 2.1 | 2.1 | 512 | 920.0 ns | 77.3744 ns | 89.1045 ns | 962.1 ns | 821.9 ns | 1,068.7 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<Int32> | List | 2.2 | 2.2 | 512 | 931.4 ns | 75.1259 ns | 86.5151 ns | 976.1 ns | 828.9 ns | 1,118.4 ns | 1.01 | 0.03 | - | - | - | - |
IndexerSet<String> | List | 2.1 | 2.1 | 512 | 879.0 ns | 21.2129 ns | 23.5780 ns | 865.4 ns | 862.7 ns | 945.5 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<String> | List | 2.2 | 2.2 | 512 | 891.6 ns | 29.0669 ns | 32.3078 ns | 875.5 ns | 869.4 ns | 976.1 ns | 1.01 | 0.03 | - | - | - | - |
IndexerSetReverse<Int32> | List | 2.1 | 2.1 | 512 | 923.3 ns | 75.0802 ns | 86.4625 ns | 971.0 ns | 813.6 ns | 1,068.9 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSetReverse<Int32> | List | 2.2 | 2.2 | 512 | 956.6 ns | 22.5173 ns | 21.0627 ns | 960.4 ns | 934.5 ns | 1,015.6 ns | 1.01 | 0.08 | - | - | - | - |
IndexerSetReverse<String> | List | 2.1 | 2.1 | 512 | 796.8 ns | 19.1758 ns | 21.3139 ns | 809.4 ns | 773.3 ns | 847.5 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSetReverse<String> | List | 2.2 | 2.2 | 512 | 792.3 ns | 23.3934 ns | 26.0017 ns | 775.3 ns | 772.6 ns | 846.1 ns | 0.99 | 0.03 | - | - | - | - |
IndexerSet<Int32> | IList | 2.1 | 2.1 | 512 | 2,477.3 ns | 3.9335 ns | 3.4869 ns | 2,476.4 ns | 2,472.6 ns | 2,485.2 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<Int32> | IList | 2.2 | 2.2 | 512 | 2,519.0 ns | 49.3383 ns | 54.8393 ns | 2,479.5 ns | 2,471.3 ns | 2,590.0 ns | 1.02 | 0.02 | - | - | - | - |
IndexerSet<String> | IList | 2.1 | 2.1 | 512 | 6,786.2 ns | 172.7038 ns | 184.7911 ns | 6,652.7 ns | 6,617.1 ns | 7,210.5 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<String> | IList | 2.2 | 2.2 | 512 | 7,629.8 ns | 183.0945 ns | 203.5091 ns | 7,744.0 ns | 7,399.5 ns | 8,132.8 ns | 1.13 | 0.02 | - | - | - | - |
IndexerSetReverse<Int32> | IList | 2.1 | 2.1 | 512 | 1,478.2 ns | 40.9338 ns | 45.4978 ns | 1,450.9 ns | 1,436.6 ns | 1,599.2 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSetReverse<Int32> | IList | 2.2 | 2.2 | 512 | 1,512.6 ns | 46.0940 ns | 51.2334 ns | 1,478.8 ns | 1,472.9 ns | 1,632.5 ns | 1.02 | 0.03 | - | - | - | - |
IndexerSetReverse<String> | IList | 2.1 | 2.1 | 512 | 2,404.0 ns | 70.1521 ns | 77.9738 ns | 2,352.3 ns | 2,339.7 ns | 2,611.4 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSetReverse<String> | IList | 2.2 | 2.2 | 512 | 2,031.6 ns | 52.4651 ns | 58.3149 ns | 2,054.5 ns | 1,973.8 ns | 2,183.8 ns | 0.85 | 0.03 | - | - | - | - |
IndexerSet<Int32> | Dictionary | 2.1 | 2.1 | 512 | 4,774.2 ns | 121.8287 ns | 130.3553 ns | 4,698.2 ns | 4,672.0 ns | 4,990.7 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<Int32> | Dictionary | 2.2 | 2.2 | 512 | 4,867.4 ns | 120.7875 ns | 134.2550 ns | 4,872.7 ns | 4,668.1 ns | 5,155.5 ns | 1.02 | 0.03 | - | - | - | - |
IndexerSet<String> | Dictionary | 2.1 | 2.1 | 512 | 21,177.9 ns | 432.4344 ns | 480.6497 ns | 20,950.0 ns | 20,714.2 ns | 22,181.2 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<String> | Dictionary | 2.2 | 2.2 | 512 | 21,127.4 ns | 405.2335 ns | 379.0557 ns | 21,030.3 ns | 20,742.1 ns | 22,013.0 ns | 0.99 | 0.02 | - | - | - | - |
IndexerSet<Int32> | SortedList | 2.1 | 2.1 | 512 | 30,326.2 ns | 680.7395 ns | 756.6402 ns | 30,031.8 ns | 29,105.4 ns | 31,387.3 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<Int32> | SortedList | 2.2 | 2.2 | 512 | 29,062.0 ns | 925.8101 ns | 950.7388 ns | 28,733.6 ns | 28,274.1 ns | 31,575.3 ns | 0.96 | 0.03 | - | - | - | - |
IndexerSet<String> | SortedList | 2.1 | 2.1 | 512 | 516,391.2 ns | 33,817.8164 ns | 38,944.6476 ns | 505,766.0 ns | 482,166.8 ns | 601,589.0 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<String> | SortedList | 2.2 | 2.2 | 512 | 478,591.4 ns | 6,082.2683 ns | 4,748.6350 ns | 477,473.8 ns | 471,821.7 ns | 484,537.4 ns | 0.89 | 0.06 | - | - | - | - |
IndexerSet<Int32> | SortedDictionary | 2.1 | 2.1 | 512 | 53,371.3 ns | 150.1723 ns | 117.2446 ns | 53,343.9 ns | 53,221.8 ns | 53,617.8 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<Int32> | SortedDictionary | 2.2 | 2.2 | 512 | 52,779.0 ns | 806.9989 ns | 673.8807 ns | 52,497.1 ns | 52,404.8 ns | 54,822.6 ns | 0.99 | 0.01 | - | - | - | - |
IndexerSet<String> | SortedDictionary | 2.1 | 2.1 | 512 | 580,921.0 ns | 11,723.2234 ns | 13,030.3317 ns | 591,501.3 ns | 565,134.2 ns | 592,420.1 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<String> | SortedDictionary | 2.2 | 2.2 | 512 | 552,949.8 ns | 12,090.6410 ns | 13,438.7155 ns | 543,020.1 ns | 541,120.5 ns | 577,135.8 ns | 0.95 | 0.02 | - | - | - | - |
IndexerSet<Int32> | ConcurrentDictionary | 2.1 | 2.1 | 512 | 21,244.6 ns | 746.3124 ns | 829.5243 ns | 21,406.1 ns | 20,390.9 ns | 23,282.0 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<Int32> | ConcurrentDictionary | 2.2 | 2.2 | 512 | 21,206.7 ns | 314.1020 ns | 278.4432 ns | 21,308.1 ns | 20,419.5 ns | 21,338.5 ns | 0.99 | 0.03 | - | - | - | - |
IndexerSet<String> | ConcurrentDictionary | 2.1 | 2.1 | 512 | 41,502.4 ns | 962.7269 ns | 1,030.1070 ns | 40,958.5 ns | 40,512.3 ns | 43,878.8 ns | 1.00 | 0.00 | - | - | - | - |
IndexerSet<String> | ConcurrentDictionary | 2.2 | 2.2 | 512 | 41,389.8 ns | 24.7304 ns | 21.9229 ns | 41,389.2 ns | 41,355.8 ns | 41,425.4 ns | 0.99 | 0.03 | - | - | - | - |
from performance.
System.Collections.Iterate
No significant difference. Vast majority of the benchmarks is very stable.
Type | Method | Job | Toolchain | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IterateFor<Int32> | Array | 2.1 | 2.1 | 512 | 205.4 ns | 8.6829 ns | 8.1219 ns | 201.0 ns | 200.4 ns | 221.5 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<Int32> | Array | 2.2 | 2.2 | 512 | 204.4 ns | 4.9775 ns | 5.5325 ns | 208.0 ns | 198.7 ns | 217.7 ns | 1.00 | 0.03 | - | - | - | - |
IterateFor<String> | Array | 2.1 | 2.1 | 512 | 201.5 ns | 4.5149 ns | 5.0183 ns | 198.3 ns | 197.9 ns | 211.1 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<String> | Array | 2.2 | 2.2 | 512 | 207.9 ns | 6.0913 ns | 6.7705 ns | 202.7 ns | 202.0 ns | 222.2 ns | 1.03 | 0.03 | - | - | - | - |
IterateForEach<Int32> | Array | 2.1 | 2.1 | 512 | 202.4 ns | 4.4330 ns | 4.9273 ns | 199.8 ns | 199.3 ns | 214.9 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | Array | 2.2 | 2.2 | 512 | 208.9 ns | 4.9803 ns | 5.3288 ns | 206.2 ns | 205.8 ns | 224.3 ns | 1.03 | 0.02 | - | - | - | - |
IterateForEach<String> | Array | 2.1 | 2.1 | 512 | 201.8 ns | 4.1233 ns | 4.5830 ns | 198.9 ns | 198.4 ns | 208.7 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | Array | 2.2 | 2.2 | 512 | 210.5 ns | 6.9560 ns | 7.4429 ns | 206.7 ns | 205.9 ns | 229.1 ns | 1.04 | 0.02 | - | - | - | - |
IterateForEachNonGeneric<Int32> | ArrayList | 2.1 | 2.1 | 512 | 3,965.5 ns | 109.1967 ns | 112.1370 ns | 3,921.1 ns | 3,912.2 ns | 4,332.1 ns | 1.00 | 0.00 | - | - | - | 48 B |
IterateForEachNonGeneric<Int32> | ArrayList | 2.2 | 2.2 | 512 | 3,919.5 ns | 6.2673 ns | 4.8931 ns | 3,918.1 ns | 3,913.0 ns | 3,926.8 ns | 0.98 | 0.03 | - | - | - | 48 B |
IterateForEachNonGeneric<String> | ArrayList | 2.1 | 2.1 | 512 | 4,148.5 ns | 86.6493 ns | 96.3105 ns | 4,229.5 ns | 4,040.5 ns | 4,248.9 ns | 1.00 | 0.00 | - | - | - | 48 B |
IterateForEachNonGeneric<String> | ArrayList | 2.2 | 2.2 | 512 | 3,922.4 ns | 8.8537 ns | 8.2818 ns | 3,918.4 ns | 3,912.6 ns | 3,938.1 ns | 0.94 | 0.02 | - | - | - | 48 B |
IterateForNonGeneric<Int32> | ArrayList | 2.1 | 2.1 | 512 | 1,489.7 ns | 40.0286 ns | 44.4917 ns | 1,505.0 ns | 1,437.6 ns | 1,572.1 ns | 1.00 | 0.00 | - | - | - | - |
IterateForNonGeneric<Int32> | ArrayList | 2.2 | 2.2 | 512 | 1,454.7 ns | 3.7229 ns | 2.9066 ns | 1,454.1 ns | 1,450.4 ns | 1,459.9 ns | 0.96 | 0.02 | - | - | - | - |
IterateForNonGeneric<String> | ArrayList | 2.1 | 2.1 | 512 | 1,492.6 ns | 29.8861 ns | 24.9563 ns | 1,502.3 ns | 1,434.8 ns | 1,504.8 ns | 1.00 | 0.00 | - | - | - | - |
IterateForNonGeneric<String> | ArrayList | 2.2 | 2.2 | 512 | 1,510.8 ns | 42.3408 ns | 45.3041 ns | 1,523.4 ns | 1,453.6 ns | 1,608.6 ns | 1.03 | 0.02 | - | - | - | - |
IterateFor<Int32> | Span | 2.1 | 2.1 | 512 | 203.7 ns | 5.5694 ns | 5.9592 ns | 200.8 ns | 200.4 ns | 220.9 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<Int32> | Span | 2.2 | 2.2 | 512 | 200.6 ns | 4.1506 ns | 3.8825 ns | 199.0 ns | 198.7 ns | 211.8 ns | 0.98 | 0.03 | - | - | - | - |
IterateFor<String> | Span | 2.1 | 2.1 | 512 | 236.5 ns | 5.3502 ns | 5.9467 ns | 232.7 ns | 231.9 ns | 249.0 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<String> | Span | 2.2 | 2.2 | 512 | 237.5 ns | 0.2734 ns | 0.2283 ns | 237.5 ns | 237.1 ns | 237.9 ns | 1.01 | 0.03 | - | - | - | - |
IterateForEach<Int32> | Span | 2.1 | 2.1 | 512 | 202.5 ns | 4.8827 ns | 5.2244 ns | 199.6 ns | 198.8 ns | 218.0 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | Span | 2.2 | 2.2 | 512 | 201.1 ns | 3.8960 ns | 3.2533 ns | 200.0 ns | 199.6 ns | 211.5 ns | 0.99 | 0.03 | - | - | - | - |
IterateForEach<String> | Span | 2.1 | 2.1 | 512 | 216.2 ns | 4.3167 ns | 4.6189 ns | 219.8 ns | 209.7 ns | 220.2 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | Span | 2.2 | 2.2 | 512 | 214.6 ns | 6.1359 ns | 6.5653 ns | 215.4 ns | 208.0 ns | 230.7 ns | 0.99 | 0.02 | - | - | - | - |
IterateForEachNonGeneric<Int32> | Hashtable | 2.1 | 2.1 | 512 | 13,720.3 ns | 282.5023 ns | 314.0005 ns | 13,991.8 ns | 13,373.7 ns | 14,038.8 ns | 1.00 | 0.00 | 2.5452 | - | - | 16440 B |
IterateForEachNonGeneric<Int32> | Hashtable | 2.2 | 2.2 | 512 | 14,652.7 ns | 344.3621 ns | 287.5580 ns | 14,602.7 ns | 14,058.9 ns | 15,341.4 ns | 1.06 | 0.02 | 2.5725 | - | - | 16440 B |
IterateForEachNonGeneric<String> | Hashtable | 2.1 | 2.1 | 512 | 13,489.0 ns | 340.3246 ns | 391.9183 ns | 13,285.1 ns | 13,234.2 ns | 14,703.4 ns | 1.00 | 0.00 | 2.5578 | - | - | 16440 B |
IterateForEachNonGeneric<String> | Hashtable | 2.2 | 2.2 | 512 | 14,124.6 ns | 360.8544 ns | 401.0887 ns | 13,907.2 ns | 13,860.2 ns | 15,369.1 ns | 1.05 | 0.02 | 2.5510 | - | - | 16440 B |
IterateFor<Int32> | ReadOnlySpan | 2.1 | 2.1 | 512 | 206.0 ns | 5.1223 ns | 5.8989 ns | 205.3 ns | 200.6 ns | 222.3 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<Int32> | ReadOnlySpan | 2.2 | 2.2 | 512 | 201.5 ns | 4.3982 ns | 4.7061 ns | 199.2 ns | 199.0 ns | 214.4 ns | 0.98 | 0.03 | - | - | - | - |
IterateFor<String> | ReadOnlySpan | 2.1 | 2.1 | 512 | 227.3 ns | 4.6673 ns | 5.1877 ns | 224.9 ns | 223.9 ns | 237.7 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<String> | ReadOnlySpan | 2.2 | 2.2 | 512 | 235.9 ns | 5.7017 ns | 6.5661 ns | 231.5 ns | 230.7 ns | 250.9 ns | 1.04 | 0.03 | - | - | - | - |
IterateForEach<Int32> | ReadOnlySpan | 2.1 | 2.1 | 512 | 202.2 ns | 3.9814 ns | 3.9102 ns | 199.5 ns | 198.9 ns | 207.4 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | ReadOnlySpan | 2.2 | 2.2 | 512 | 203.5 ns | 9.0301 ns | 8.0050 ns | 199.4 ns | 199.0 ns | 222.1 ns | 1.00 | 0.03 | - | - | - | - |
IterateForEach<String> | ReadOnlySpan | 2.1 | 2.1 | 512 | 204.0 ns | 3.9110 ns | 4.0163 ns | 201.3 ns | 200.3 ns | 211.2 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | ReadOnlySpan | 2.2 | 2.2 | 512 | 200.6 ns | 0.3178 ns | 0.2817 ns | 200.5 ns | 200.1 ns | 201.1 ns | 0.98 | 0.02 | - | - | - | - |
IterateForEachNonGeneric<Int32> | Queue | 2.1 | 2.1 | 512 | 4,874.4 ns | 97.1296 ns | 95.3943 ns | 4,831.4 ns | 4,817.9 ns | 5,092.7 ns | 1.00 | 0.00 | - | - | - | 40 B |
IterateForEachNonGeneric<Int32> | Queue | 2.2 | 2.2 | 512 | 5,273.0 ns | 142.7906 ns | 158.7113 ns | 5,159.9 ns | 5,138.4 ns | 5,729.2 ns | 1.09 | 0.03 | - | - | - | 40 B |
IterateForEachNonGeneric<String> | Queue | 2.1 | 2.1 | 512 | 5,061.5 ns | 119.0256 ns | 132.2966 ns | 4,960.1 ns | 4,948.7 ns | 5,340.5 ns | 1.00 | 0.00 | - | - | - | 40 B |
IterateForEachNonGeneric<String> | Queue | 2.2 | 2.2 | 512 | 5,077.9 ns | 139.6554 ns | 149.4297 ns | 5,007.7 ns | 4,954.8 ns | 5,436.6 ns | 1.00 | 0.02 | - | - | - | 40 B |
IterateFor<Int32> | List | 2.1 | 2.1 | 512 | 268.8 ns | 5.3507 ns | 5.0050 ns | 266.2 ns | 265.7 ns | 278.5 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<Int32> | List | 2.2 | 2.2 | 512 | 268.3 ns | 4.9432 ns | 4.3820 ns | 266.5 ns | 266.0 ns | 278.6 ns | 1.00 | 0.01 | - | - | - | - |
IterateFor<String> | List | 2.1 | 2.1 | 512 | 282.0 ns | 7.5006 ns | 8.3369 ns | 276.1 ns | 275.4 ns | 305.0 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<String> | List | 2.2 | 2.2 | 512 | 270.8 ns | 6.6718 ns | 7.6832 ns | 265.5 ns | 264.6 ns | 290.2 ns | 0.96 | 0.01 | - | - | - | - |
IterateForEach<Int32> | IEnumerable | 2.1 | 2.1 | 512 | 2,679.2 ns | 64.0036 ns | 71.1398 ns | 2,650.9 ns | 2,629.7 ns | 2,895.7 ns | 1.00 | 0.00 | - | - | - | 32 B |
IterateForEach<Int32> | IEnumerable | 2.2 | 2.2 | 512 | 2,555.6 ns | 66.5404 ns | 76.6280 ns | 2,549.9 ns | 2,485.0 ns | 2,765.4 ns | 0.96 | 0.03 | - | - | - | 32 B |
IterateForEach<String> | IEnumerable | 2.1 | 2.1 | 512 | 2,486.9 ns | 3.8542 ns | 3.0091 ns | 2,487.0 ns | 2,482.7 ns | 2,493.5 ns | 1.00 | 0.00 | - | - | - | 32 B |
IterateForEach<String> | IEnumerable | 2.2 | 2.2 | 512 | 2,514.6 ns | 50.1067 ns | 49.2115 ns | 2,491.3 ns | 2,484.8 ns | 2,626.6 ns | 1.01 | 0.02 | - | - | - | 32 B |
IterateForEachNonGeneric<Int32> | Stack | 2.1 | 2.1 | 512 | 4,079.1 ns | 80.2291 ns | 82.3894 ns | 4,046.0 ns | 4,034.7 ns | 4,320.8 ns | 1.00 | 0.00 | - | - | - | 40 B |
IterateForEachNonGeneric<Int32> | Stack | 2.2 | 2.2 | 512 | 4,280.7 ns | 111.2723 ns | 123.6788 ns | 4,194.6 ns | 4,167.3 ns | 4,622.1 ns | 1.05 | 0.03 | - | - | - | 40 B |
IterateForEachNonGeneric<String> | Stack | 2.1 | 2.1 | 512 | 4,149.0 ns | 114.0308 ns | 131.3181 ns | 4,054.4 ns | 4,039.5 ns | 4,438.9 ns | 1.00 | 0.00 | - | - | - | 40 B |
IterateForEachNonGeneric<String> | Stack | 2.2 | 2.2 | 512 | 4,255.6 ns | 117.9019 ns | 131.0476 ns | 4,180.9 ns | 4,167.2 ns | 4,658.5 ns | 1.03 | 0.03 | - | - | - | 40 B |
IterateFor<Int32> | IList | 2.1 | 2.1 | 512 | 2,581.8 ns | 50.5854 ns | 42.2411 ns | 2,598.6 ns | 2,486.2 ns | 2,601.3 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<Int32> | IList | 2.2 | 2.2 | 512 | 2,549.5 ns | 62.0762 ns | 68.9975 ns | 2,586.6 ns | 2,474.0 ns | 2,726.7 ns | 1.00 | 0.01 | - | - | - | - |
IterateFor<String> | IList | 2.1 | 2.1 | 512 | 2,259.9 ns | 46.2721 ns | 51.4313 ns | 2,219.2 ns | 2,210.9 ns | 2,320.5 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<String> | IList | 2.2 | 2.2 | 512 | 2,675.8 ns | 69.4819 ns | 77.2290 ns | 2,722.1 ns | 2,597.1 ns | 2,840.5 ns | 1.18 | 0.03 | - | - | - | - |
IterateForEach<Int32> | List | 2.1 | 2.1 | 512 | 1,030.9 ns | 19.8434 ns | 19.4888 ns | 1,020.1 ns | 1,017.8 ns | 1,068.1 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | List | 2.2 | 2.2 | 512 | 1,016.7 ns | 1.4059 ns | 1.2463 ns | 1,016.4 ns | 1,014.8 ns | 1,019.4 ns | 0.99 | 0.02 | - | - | - | - |
IterateForEach<String> | List | 2.1 | 2.1 | 512 | 1,892.1 ns | 52.6362 ns | 56.3201 ns | 1,859.8 ns | 1,843.4 ns | 2,027.8 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | List | 2.2 | 2.2 | 512 | 2,020.1 ns | 56.6626 ns | 62.9803 ns | 1,977.3 ns | 1,969.3 ns | 2,200.3 ns | 1.07 | 0.03 | - | - | - | - |
IterateForEachNonGeneric<Int32> | SortedList | 2.1 | 2.1 | 512 | 10,407.8 ns | 246.4246 ns | 283.7829 ns | 10,396.7 ns | 10,126.4 ns | 11,102.0 ns | 1.00 | 0.00 | 2.5883 | - | - | 16448 B |
IterateForEachNonGeneric<Int32> | SortedList | 2.2 | 2.2 | 512 | 10,854.4 ns | 365.8972 ns | 391.5059 ns | 10,602.6 ns | 10,527.7 ns | 11,709.0 ns | 1.04 | 0.03 | 2.5987 | - | - | 16448 B |
IterateForEachNonGeneric<String> | SortedList | 2.1 | 2.1 | 512 | 10,849.3 ns | 492.0075 ns | 546.8650 ns | 10,643.8 ns | 10,164.2 ns | 12,249.7 ns | 1.00 | 0.00 | 2.5871 | - | - | 16448 B |
IterateForEachNonGeneric<String> | SortedList | 2.2 | 2.2 | 512 | 10,830.1 ns | 327.9327 ns | 350.8843 ns | 10,584.3 ns | 10,516.5 ns | 11,584.1 ns | 1.00 | 0.06 | 2.6023 | - | - | 16448 B |
IterateFor<Int32> | ImmutableArray | 2.1 | 2.1 | 512 | 204.2 ns | 5.2800 ns | 5.8687 ns | 200.8 ns | 200.2 ns | 221.5 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<Int32> | ImmutableArray | 2.2 | 2.2 | 512 | 204.0 ns | 4.9450 ns | 5.6947 ns | 200.7 ns | 200.4 ns | 221.5 ns | 1.00 | 0.03 | - | - | - | - |
IterateFor<String> | ImmutableArray | 2.1 | 2.1 | 512 | 206.5 ns | 0.6287 ns | 0.5573 ns | 206.2 ns | 206.0 ns | 207.6 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<String> | ImmutableArray | 2.2 | 2.2 | 512 | 209.9 ns | 5.5592 ns | 5.9483 ns | 207.1 ns | 206.5 ns | 229.1 ns | 1.02 | 0.03 | - | - | - | - |
IterateForEach<Int32> | LinkedList | 2.1 | 2.1 | 512 | 1,890.7 ns | 57.3857 ns | 63.7841 ns | 1,842.6 ns | 1,832.5 ns | 2,053.0 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | LinkedList | 2.2 | 2.2 | 512 | 2,129.0 ns | 41.0373 ns | 34.2680 ns | 2,118.8 ns | 2,097.3 ns | 2,205.0 ns | 1.11 | 0.03 | - | - | - | - |
IterateForEach<String> | LinkedList | 2.1 | 2.1 | 512 | 3,499.0 ns | 98.3974 ns | 105.2841 ns | 3,426.1 ns | 3,408.4 ns | 3,776.4 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | LinkedList | 2.2 | 2.2 | 512 | 3,235.4 ns | 81.8016 ns | 90.9223 ns | 3,180.8 ns | 3,151.7 ns | 3,485.2 ns | 0.93 | 0.03 | - | - | - | - |
IterateFor<Int32> | ImmutableList | 2.1 | 2.1 | 512 | 14,154.7 ns | 270.7713 ns | 253.2796 ns | 14,095.5 ns | 13,874.8 ns | 14,762.3 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<Int32> | ImmutableList | 2.2 | 2.2 | 512 | 16,213.6 ns | 429.8484 ns | 495.0140 ns | 15,903.8 ns | 15,776.3 ns | 17,572.2 ns | 1.15 | 0.03 | - | - | - | - |
IterateFor<String> | ImmutableList | 2.1 | 2.1 | 512 | 16,041.4 ns | 380.2203 ns | 422.6139 ns | 15,763.6 ns | 15,647.3 ns | 17,025.5 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<String> | ImmutableList | 2.2 | 2.2 | 512 | 16,077.2 ns | 342.4370 ns | 351.6576 ns | 15,955.4 ns | 15,860.0 ns | 17,209.3 ns | 1.00 | 0.02 | - | - | - | - |
IterateForEach<Int32> | HashSet | 2.1 | 2.1 | 512 | 1,438.2 ns | 3.7406 ns | 2.9204 ns | 1,437.2 ns | 1,435.6 ns | 1,445.6 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | HashSet | 2.2 | 2.2 | 512 | 1,500.4 ns | 49.3494 ns | 52.8033 ns | 1,509.1 ns | 1,440.4 ns | 1,613.8 ns | 1.06 | 0.03 | - | - | - | - |
IterateForEach<String> | HashSet | 2.1 | 2.1 | 512 | 2,505.7 ns | 36.3216 ns | 32.1981 ns | 2,493.5 ns | 2,487.2 ns | 2,598.2 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | HashSet | 2.2 | 2.2 | 512 | 2,299.6 ns | 57.8236 ns | 66.5898 ns | 2,329.6 ns | 2,232.2 ns | 2,475.9 ns | 0.93 | 0.03 | - | - | - | - |
IterateFor<Int32> | ImmutableSortedSet | 2.1 | 2.1 | 512 | 15,706.8 ns | 125.5386 ns | 98.0123 ns | 15,691.5 ns | 15,588.1 ns | 15,882.6 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<Int32> | ImmutableSortedSet | 2.2 | 2.2 | 512 | 16,324.9 ns | 393.9463 ns | 437.8702 ns | 16,562.2 ns | 15,732.2 ns | 17,120.0 ns | 1.06 | 0.02 | - | - | - | - |
IterateFor<String> | ImmutableSortedSet | 2.1 | 2.1 | 512 | 14,319.9 ns | 437.7234 ns | 486.5284 ns | 14,019.7 ns | 13,904.9 ns | 15,378.9 ns | 1.00 | 0.00 | - | - | - | - |
IterateFor<String> | ImmutableSortedSet | 2.2 | 2.2 | 512 | 14,320.6 ns | 429.4238 ns | 477.3034 ns | 14,061.1 ns | 13,872.0 ns | 15,319.5 ns | 1.00 | 0.02 | - | - | - | - |
IterateForEach<Int32> | Dictionary | 2.1 | 2.1 | 512 | 3,397.3 ns | 33.8521 ns | 28.2680 ns | 3,405.0 ns | 3,303.3 ns | 3,406.4 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | Dictionary | 2.2 | 2.2 | 512 | 3,376.2 ns | 61.9793 ns | 51.7555 ns | 3,405.5 ns | 3,249.6 ns | 3,408.0 ns | 0.99 | 0.01 | - | - | - | - |
IterateForEach<String> | Dictionary | 2.1 | 2.1 | 512 | 2,722.0 ns | 82.9881 ns | 95.5692 ns | 2,669.0 ns | 2,636.2 ns | 2,963.5 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | Dictionary | 2.2 | 2.2 | 512 | 2,926.1 ns | 58.1730 ns | 57.1337 ns | 2,900.0 ns | 2,888.0 ns | 3,069.2 ns | 1.07 | 0.04 | - | - | - | - |
IterateForEach<Int32> | Queue | 2.1 | 2.1 | 512 | 1,473.5 ns | 33.4394 ns | 35.7798 ns | 1,450.6 ns | 1,447.0 ns | 1,554.1 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | Queue | 2.2 | 2.2 | 512 | 1,597.8 ns | 36.6497 ns | 39.2148 ns | 1,577.0 ns | 1,573.8 ns | 1,704.4 ns | 1.08 | 0.01 | - | - | - | - |
IterateForEach<String> | Queue | 2.1 | 2.1 | 512 | 4,299.1 ns | 126.6012 ns | 135.4618 ns | 4,316.1 ns | 4,167.8 ns | 4,610.4 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | Queue | 2.2 | 2.2 | 512 | 3,481.3 ns | 90.4308 ns | 100.5136 ns | 3,417.6 ns | 3,396.9 ns | 3,760.3 ns | 0.81 | 0.02 | - | - | - | - |
IterateForEach<Int32> | Stack | 2.1 | 2.1 | 512 | 1,609.5 ns | 33.6464 ns | 36.0013 ns | 1,588.9 ns | 1,572.0 ns | 1,649.3 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | Stack | 2.2 | 2.2 | 512 | 1,608.6 ns | 44.1048 ns | 47.1916 ns | 1,579.0 ns | 1,574.8 ns | 1,742.9 ns | 1.00 | 0.02 | - | - | - | - |
IterateForEach<String> | Stack | 2.1 | 2.1 | 512 | 4,535.0 ns | 99.9284 ns | 111.0701 ns | 4,470.4 ns | 4,431.1 ns | 4,766.9 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | Stack | 2.2 | 2.2 | 512 | 3,646.2 ns | 93.7831 ns | 100.3469 ns | 3,673.1 ns | 3,527.2 ns | 3,837.1 ns | 0.80 | 0.02 | - | - | - | - |
IterateForEach<Int32> | SortedList | 2.1 | 2.1 | 512 | 4,951.6 ns | 8.0686 ns | 7.5474 ns | 4,947.4 ns | 4,940.8 ns | 4,962.7 ns | 1.00 | 0.00 | - | - | - | 48 B |
IterateForEach<Int32> | SortedList | 2.2 | 2.2 | 512 | 5,185.0 ns | 24.1432 ns | 20.1607 ns | 5,189.8 ns | 5,118.1 ns | 5,194.3 ns | 1.05 | 0.00 | - | - | - | 48 B |
IterateForEach<String> | SortedList | 2.1 | 2.1 | 512 | 10,359.5 ns | 206.0172 ns | 220.4361 ns | 10,246.1 ns | 10,107.4 ns | 10,726.9 ns | 1.00 | 0.00 | - | - | - | 56 B |
IterateForEach<String> | SortedList | 2.2 | 2.2 | 512 | 10,254.4 ns | 266.8790 ns | 296.6353 ns | 10,098.2 ns | 10,044.7 ns | 11,056.8 ns | 0.99 | 0.03 | - | - | - | 56 B |
IterateForEach<Int32> | SortedSet | 2.1 | 2.1 | 512 | 9,922.7 ns | 219.9801 ns | 235.3763 ns | 9,789.9 ns | 9,675.7 ns | 10,381.4 ns | 1.00 | 0.00 | - | - | - | 224 B |
IterateForEach<Int32> | SortedSet | 2.2 | 2.2 | 512 | 9,306.0 ns | 39.8537 ns | 31.1152 ns | 9,299.0 ns | 9,271.6 ns | 9,363.2 ns | 0.93 | 0.02 | - | - | - | 224 B |
IterateForEach<String> | SortedSet | 2.1 | 2.1 | 512 | 12,409.5 ns | 242.4773 ns | 238.1451 ns | 12,308.9 ns | 12,261.1 ns | 12,916.2 ns | 1.00 | 0.00 | - | - | - | 224 B |
IterateForEach<String> | SortedSet | 2.2 | 2.2 | 512 | 11,834.5 ns | 228.7777 ns | 224.6903 ns | 11,736.9 ns | 11,697.2 ns | 12,332.9 ns | 0.95 | 0.00 | - | - | - | 224 B |
IterateForEach<Int32> | SortedDictionary | 2.1 | 2.1 | 512 | 10,390.1 ns | 240.8300 ns | 267.6819 ns | 10,185.4 ns | 10,126.9 ns | 10,755.2 ns | 1.00 | 0.00 | - | - | - | 224 B |
IterateForEach<Int32> | SortedDictionary | 2.2 | 2.2 | 512 | 10,605.3 ns | 270.2472 ns | 300.3791 ns | 10,771.9 ns | 10,285.4 ns | 11,164.4 ns | 1.02 | 0.02 | - | - | - | 224 B |
IterateForEach<String> | SortedDictionary | 2.1 | 2.1 | 512 | 18,053.9 ns | 492.5482 ns | 567.2192 ns | 17,796.9 ns | 17,543.4 ns | 19,542.9 ns | 1.00 | 0.00 | - | - | - | 224 B |
IterateForEach<String> | SortedDictionary | 2.2 | 2.2 | 512 | 17,476.6 ns | 515.6384 ns | 573.1307 ns | 17,140.1 ns | 17,083.7 ns | 18,946.3 ns | 0.97 | 0.03 | - | - | - | 224 B |
IterateForEach<Int32> | ConcurrentDictionary | 2.1 | 2.1 | 512 | 15,116.1 ns | 39.0959 ns | 30.5235 ns | 15,104.7 ns | 15,087.5 ns | 15,204.2 ns | 1.00 | 0.00 | - | - | - | 56 B |
IterateForEach<Int32> | ConcurrentDictionary | 2.2 | 2.2 | 512 | 15,704.0 ns | 398.4302 ns | 458.8329 ns | 15,442.1 ns | 15,383.3 ns | 16,866.9 ns | 1.05 | 0.03 | - | - | - | 56 B |
IterateForEach<String> | ConcurrentDictionary | 2.1 | 2.1 | 512 | 26,417.5 ns | 753.5634 ns | 867.8048 ns | 25,897.1 ns | 25,818.4 ns | 28,852.5 ns | 1.00 | 0.00 | - | - | - | 64 B |
IterateForEach<String> | ConcurrentDictionary | 2.2 | 2.2 | 512 | 20,903.3 ns | 476.0249 ns | 548.1909 ns | 21,181.2 ns | 20,183.1 ns | 22,218.4 ns | 0.79 | 0.03 | - | - | - | 64 B |
IterateForEach<Int32> | ConcurrentQueue | 2.1 | 2.1 | 512 | 4,847.9 ns | 112.2839 ns | 120.1425 ns | 4,852.7 ns | 4,723.3 ns | 5,032.2 ns | 1.00 | 0.00 | - | - | - | 80 B |
IterateForEach<Int32> | ConcurrentQueue | 2.2 | 2.2 | 512 | 4,514.1 ns | 114.8116 ns | 117.9031 ns | 4,467.5 ns | 4,456.1 ns | 4,886.5 ns | 0.93 | 0.02 | - | - | - | 80 B |
IterateForEach<String> | ConcurrentQueue | 2.1 | 2.1 | 512 | 5,329.1 ns | 59.8269 ns | 49.9581 ns | 5,349.3 ns | 5,203.4 ns | 5,375.3 ns | 1.00 | 0.00 | - | - | - | 80 B |
IterateForEach<String> | ConcurrentQueue | 2.2 | 2.2 | 512 | 5,543.6 ns | 105.8997 ns | 104.0077 ns | 5,498.5 ns | 5,447.4 ns | 5,757.5 ns | 1.04 | 0.02 | - | - | - | 80 B |
IterateForEach<Int32> | ConcurrentStack | 2.1 | 2.1 | 512 | 3,320.0 ns | 81.3726 ns | 90.4454 ns | 3,272.0 ns | 3,262.4 ns | 3,533.7 ns | 1.00 | 0.00 | - | - | - | 40 B |
IterateForEach<Int32> | ConcurrentStack | 2.2 | 2.2 | 512 | 3,459.7 ns | 89.3512 ns | 99.3137 ns | 3,401.9 ns | 3,389.8 ns | 3,712.9 ns | 1.04 | 0.02 | - | - | - | 40 B |
IterateForEach<String> | ConcurrentStack | 2.1 | 2.1 | 512 | 4,501.2 ns | 94.8402 ns | 105.4146 ns | 4,446.0 ns | 4,396.8 ns | 4,756.7 ns | 1.00 | 0.00 | - | - | - | 48 B |
IterateForEach<String> | ConcurrentStack | 2.2 | 2.2 | 512 | 4,522.1 ns | 147.0836 ns | 157.3778 ns | 4,443.2 ns | 4,379.6 ns | 4,917.9 ns | 1.00 | 0.02 | - | - | - | 48 B |
IterateForEach<Int32> | ConcurrentBag | 2.1 | 2.1 | 512 | 3,176.7 ns | 82.4949 ns | 91.6929 ns | 3,129.4 ns | 3,095.3 ns | 3,431.1 ns | 1.00 | 0.00 | 0.3244 | - | - | 2104 B |
IterateForEach<Int32> | ConcurrentBag | 2.2 | 2.2 | 512 | 3,091.1 ns | 60.6773 ns | 67.4426 ns | 3,046.1 ns | 3,030.1 ns | 3,179.1 ns | 0.97 | 0.02 | 0.3304 | - | - | 2104 B |
IterateForEach<String> | ConcurrentBag | 2.1 | 2.1 | 512 | 5,309.5 ns | 138.2086 ns | 147.8816 ns | 5,372.7 ns | 5,132.7 ns | 5,689.9 ns | 1.00 | 0.00 | 0.6466 | - | - | 4160 B |
IterateForEach<String> | ConcurrentBag | 2.2 | 2.2 | 512 | 5,129.7 ns | 131.8078 ns | 151.7900 ns | 5,047.9 ns | 5,015.7 ns | 5,590.6 ns | 0.97 | 0.03 | 0.6519 | - | - | 4160 B |
IterateForEach<Int32> | ImmutableArray | 2.1 | 2.1 | 512 | 1,082.5 ns | 27.4862 ns | 31.6531 ns | 1,094.1 ns | 1,051.5 ns | 1,169.8 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | ImmutableArray | 2.2 | 2.2 | 512 | 1,076.3 ns | 28.3769 ns | 31.5409 ns | 1,055.0 ns | 1,050.1 ns | 1,162.5 ns | 0.99 | 0.03 | - | - | - | - |
IterateForEach<String> | ImmutableArray | 2.1 | 2.1 | 512 | 1,064.5 ns | 22.0400 ns | 21.6462 ns | 1,054.3 ns | 1,051.7 ns | 1,118.7 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | ImmutableArray | 2.2 | 2.2 | 512 | 1,080.0 ns | 23.1236 ns | 24.7420 ns | 1,100.4 ns | 1,051.8 ns | 1,109.1 ns | 1.02 | 0.02 | - | - | - | - |
IterateForEach<Int32> | ImmutableDictionary | 2.1 | 2.1 | 512 | 56,332.5 ns | 1,227.0233 ns | 1,363.8331 ns | 57,499.4 ns | 54,814.1 ns | 57,905.3 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | ImmutableDictionary | 2.2 | 2.2 | 512 | 57,460.1 ns | 2,174.2760 ns | 2,326.4510 ns | 57,793.4 ns | 55,099.8 ns | 63,669.1 ns | 1.02 | 0.03 | - | - | - | - |
IterateForEach<String> | ImmutableDictionary | 2.1 | 2.1 | 512 | 102,067.9 ns | 1,151.6348 ns | 899.1207 ns | 102,281.1 ns | 99,307.5 ns | 102,734.7 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | ImmutableDictionary | 2.2 | 2.2 | 512 | 101,226.0 ns | 3,146.4836 ns | 3,497.3082 ns | 98,928.2 ns | 98,532.5 ns | 109,315.8 ns | 1.00 | 0.04 | - | - | - | - |
IterateForEach<Int32> | ImmutableHashSet | 2.1 | 2.1 | 512 | 67,612.9 ns | 1,832.3481 ns | 2,036.6501 ns | 66,535.4 ns | 66,433.1 ns | 74,147.4 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | ImmutableHashSet | 2.2 | 2.2 | 512 | 68,095.3 ns | 1,779.2637 ns | 1,977.6468 ns | 66,736.2 ns | 66,304.3 ns | 73,403.0 ns | 1.01 | 0.04 | - | - | - | - |
IterateForEach<String> | ImmutableHashSet | 2.1 | 2.1 | 512 | 115,255.2 ns | 1,637.9530 ns | 1,452.0026 ns | 115,598.1 ns | 113,115.2 ns | 118,530.2 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | ImmutableHashSet | 2.2 | 2.2 | 512 | 115,403.2 ns | 103.5250 ns | 80.8255 ns | 115,390.3 ns | 115,278.6 ns | 115,598.1 ns | 1.00 | 0.01 | - | - | - | - |
IterateForEach<Int32> | ImmutableList | 2.1 | 2.1 | 512 | 24,588.9 ns | 609.6476 ns | 702.0711 ns | 24,990.6 ns | 23,820.2 ns | 26,186.4 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | ImmutableList | 2.2 | 2.2 | 512 | 24,247.3 ns | 652.3801 ns | 698.0394 ns | 23,911.9 ns | 23,866.4 ns | 26,423.7 ns | 0.98 | 0.03 | - | - | - | - |
IterateForEach<String> | ImmutableList | 2.1 | 2.1 | 512 | 41,441.0 ns | 1,224.8540 ns | 1,361.4220 ns | 41,958.7 ns | 40,051.6 ns | 44,398.2 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | ImmutableList | 2.2 | 2.2 | 512 | 40,593.1 ns | 1,038.3656 ns | 1,111.0395 ns | 40,007.4 ns | 39,861.1 ns | 44,034.7 ns | 0.98 | 0.03 | - | - | - | - |
IterateForEach<Int32> | ImmutableQueue | 2.1 | 2.1 | 512 | 3,983.4 ns | 57.4490 ns | 44.8524 ns | 3,976.7 ns | 3,928.2 ns | 4,055.3 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | ImmutableQueue | 2.2 | 2.2 | 512 | 3,880.2 ns | 106.0852 ns | 117.9134 ns | 3,798.0 ns | 3,776.4 ns | 4,185.4 ns | 0.99 | 0.03 | - | - | - | - |
IterateForEach<String> | ImmutableQueue | 2.1 | 2.1 | 512 | 5,293.5 ns | 139.7116 ns | 155.2891 ns | 5,207.8 ns | 5,148.6 ns | 5,727.8 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | ImmutableQueue | 2.2 | 2.2 | 512 | 5,038.5 ns | 130.5463 ns | 139.6831 ns | 4,967.3 ns | 4,943.0 ns | 5,456.1 ns | 0.95 | 0.03 | - | - | - | - |
IterateForEach<Int32> | ImmutableStack | 2.1 | 2.1 | 512 | 3,885.8 ns | 131.5370 ns | 146.2030 ns | 3,792.3 ns | 3,778.4 ns | 4,248.7 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | ImmutableStack | 2.2 | 2.2 | 512 | 3,642.3 ns | 82.5405 ns | 88.3174 ns | 3,617.9 ns | 3,541.9 ns | 3,841.9 ns | 0.94 | 0.02 | - | - | - | - |
IterateForEach<String> | ImmutableStack | 2.1 | 2.1 | 512 | 4,684.0 ns | 176.5849 ns | 203.3555 ns | 4,667.2 ns | 4,446.8 ns | 5,178.3 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | ImmutableStack | 2.2 | 2.2 | 512 | 4,229.6 ns | 83.9844 ns | 86.2458 ns | 4,177.7 ns | 4,171.0 ns | 4,379.0 ns | 0.90 | 0.04 | - | - | - | - |
IterateForEach<Int32> | ImmutableSortedDictionary | 2.1 | 2.1 | 512 | 25,646.4 ns | 675.6194 ns | 750.9492 ns | 26,077.6 ns | 24,884.2 ns | 27,026.9 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | ImmutableSortedDictionary | 2.2 | 2.2 | 512 | 24,735.3 ns | 749.5476 ns | 863.1801 ns | 24,141.7 ns | 24,087.7 ns | 26,718.9 ns | 0.97 | 0.03 | - | - | - | - |
IterateForEach<String> | ImmutableSortedDictionary | 2.1 | 2.1 | 512 | 48,208.4 ns | 1,110.7019 ns | 1,188.4386 ns | 47,387.5 ns | 47,299.6 ns | 50,832.3 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | ImmutableSortedDictionary | 2.2 | 2.2 | 512 | 49,429.4 ns | 1,053.0185 ns | 1,126.7180 ns | 50,066.2 ns | 47,836.5 ns | 51,436.7 ns | 1.03 | 0.02 | - | - | - | - |
IterateForEach<Int32> | ImmutableSortedSet | 2.1 | 2.1 | 512 | 24,443.3 ns | 671.4220 ns | 718.4140 ns | 24,110.9 ns | 24,062.2 ns | 26,709.0 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<Int32> | ImmutableSortedSet | 2.2 | 2.2 | 512 | 24,780.5 ns | 365.4094 ns | 305.1334 ns | 24,865.6 ns | 23,770.2 ns | 24,923.2 ns | 1.01 | 0.03 | - | - | - | - |
IterateForEach<String> | ImmutableSortedSet | 2.1 | 2.1 | 512 | 45,438.5 ns | 1,375.6621 ns | 1,412.7037 ns | 45,705.0 ns | 43,618.1 ns | 49,054.6 ns | 1.00 | 0.00 | - | - | - | - |
IterateForEach<String> | ImmutableSortedSet | 2.2 | 2.2 | 512 | 45,393.2 ns | 1,233.2855 ns | 1,370.7936 ns | 46,069.3 ns | 44,079.9 ns | 49,123.8 ns | 1.00 | 0.03 | - | - | - | - |
from performance.
System.Collections.TryAdd
No significant difference. Difference visible in the results below gone after re-run.
Type | Method | Job | Toolchain | Count | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TryAddDefaultSize<Int32> | Dictionary | 2.1 | 2.1 | 512 | 11.882 us | 0.2767 us | 0.2961 us | 11.773 us | 11.597 us | 12.665 us | 1.00 | 0.00 | 5.4348 | 0.6308 | - | 33.69 KB |
TryAddDefaultSize<Int32> | Dictionary | 2.2 | 2.2 | 512 | 12.366 us | 0.0474 us | 0.0370 us | 12.360 us | 12.296 us | 12.438 us | 1.03 | 0.03 | 5.4170 | 0.6643 | - | 33.69 KB |
TryAddDefaultSize<String> | Dictionary | 2.1 | 2.1 | 512 | 28.463 us | 0.6889 us | 0.7372 us | 27.998 us | 27.755 us | 30.352 us | 1.00 | 0.00 | 7.5652 | 1.1639 | - | 46.97 KB |
TryAddDefaultSize<String> | Dictionary | 2.2 | 2.2 | 512 | 27.902 us | 0.8392 us | 0.9328 us | 27.733 us | 26.953 us | 29.754 us | 0.98 | 0.03 | 7.5723 | 1.2432 | - | 46.97 KB |
TryAddGiventSize<Int32> | Dictionary | 2.1 | 2.1 | 512 | 6.669 us | 0.1604 us | 0.1783 us | 6.574 us | 6.475 us | 7.072 us | 1.00 | 0.00 | 1.6469 | 0.1080 | - | 10.3 KB |
TryAddGiventSize<Int32> | Dictionary | 2.2 | 2.2 | 512 | 7.091 us | 0.1372 us | 0.1525 us | 7.035 us | 6.941 us | 7.419 us | 1.06 | 0.03 | 1.6417 | 0.0864 | - | 10.3 KB |
TryAddGiventSize<String> | Dictionary | 2.1 | 2.1 | 512 | 21.776 us | 0.6201 us | 0.7142 us | 21.387 us | 21.241 us | 23.436 us | 1.00 | 0.00 | 2.2258 | 0.1781 | - | 14.38 KB |
TryAddGiventSize<String> | Dictionary | 2.2 | 2.2 | 512 | 21.150 us | 0.3899 us | 0.3647 us | 20.982 us | 20.908 us | 21.896 us | 0.97 | 0.03 | 2.2632 | 0.1741 | - | 14.38 KB |
TryAddDefaultSize<Int32> | ConcurrentDictionary | 2.1 | 2.1 | 512 | 67.495 us | 2.8153 us | 3.1292 us | 67.448 us | 64.643 us | 74.582 us | 1.00 | 0.00 | 19.3966 | 5.6573 | - | 121.06 KB |
TryAddDefaultSize<Int32> | ConcurrentDictionary | 2.2 | 2.2 | 512 | 66.184 us | 1.6855 us | 1.8035 us | 65.139 us | 64.846 us | 71.200 us | 0.98 | 0.04 | 19.4805 | 5.6818 | - | 121.06 KB |
TryAddDefaultSize<String> | ConcurrentDictionary | 2.1 | 2.1 | 512 | 119.630 us | 2.3742 us | 2.6390 us | 117.770 us | 117.149 us | 122.791 us | 1.00 | 0.00 | 20.9961 | 4.8828 | - | 130.14 KB |
TryAddDefaultSize<String> | ConcurrentDictionary | 2.2 | 2.2 | 512 | 138.931 us | 3.3717 us | 3.6076 us | 136.783 us | 136.267 us | 148.494 us | 1.16 | 0.02 | 23.9955 | 7.8125 | - | 149.88 KB |
TryAddGiventSize<Int32> | ConcurrentDictionary | 2.1 | 2.1 | 512 | 32.162 us | 0.7713 us | 0.8573 us | 32.598 us | 31.218 us | 34.037 us | 1.00 | 0.00 | 8.0898 | 1.5658 | - | 50.62 KB |
TryAddGiventSize<Int32> | ConcurrentDictionary | 2.2 | 2.2 | 512 | 32.210 us | 1.1333 us | 1.2126 us | 31.975 us | 31.189 us | 35.166 us | 1.00 | 0.03 | 8.0729 | 1.5625 | - | 50.62 KB |
TryAddGiventSize<String> | ConcurrentDictionary | 2.1 | 2.1 | 512 | 77.872 us | 1.6513 us | 1.8355 us | 79.055 us | 75.452 us | 80.552 us | 1.00 | 0.00 | 9.1540 | 1.8939 | - | 58.63 KB |
TryAddGiventSize<String> | ConcurrentDictionary | 2.2 | 2.2 | 512 | 78.749 us | 1.4192 us | 1.2581 us | 79.263 us | 75.815 us | 79.437 us | 1.00 | 0.01 | 9.5178 | 2.2208 | - | 59.38 KB |
from performance.
System.IO.Compression
No significant difference. Difference visible in the results below gone after re-run.
Type | Method | Job | Toolchain | file | level | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Brotli | Compress_WithState | 2.1 | 2.1 | TestDocument.pdf | Fastest | 72.638 us | 1.3752 us | 1.2864 us | 72.027 us | 71.675 us | 76.22 us | 1.00 | 0.00 | - | - | - | 32 B |
Brotli | Compress_WithState | 2.2 | 2.2 | TestDocument.pdf | Fastest | 63.816 us | 0.9816 us | 0.8197 us | 63.864 us | 62.827 us | 64.88 us | 0.88 | 0.02 | - | - | - | 32 B |
Deflate | Compress | 2.1 | 2.1 | TestDocument.pdf | Fastest | 2,035.873 us | 40.3732 us | 44.8747 us | 2,042.453 us | 1,987.907 us | 2,082.23 us | 1.00 | 0.00 | - | - | - | 8480 B |
Deflate | Compress | 2.2 | 2.2 | TestDocument.pdf | Fastest | 2,048.354 us | 59.6420 us | 61.2480 us | 2,062.915 us | 1,987.313 us | 2,212.62 us | 1.00 | 0.02 | - | - | - | 8480 B |
Gzip | Compress | 2.1 | 2.1 | TestDocument.pdf | Fastest | 2,046.371 us | 67.8260 us | 69.6523 us | 1,995.010 us | 1,988.706 us | 2,199.58 us | 1.00 | 0.00 | - | - | - | 8520 B |
Gzip | Compress | 2.2 | 2.2 | TestDocument.pdf | Fastest | 2,064.796 us | 39.4039 us | 34.9305 us | 2,081.642 us | 1,992.602 us | 2,087.76 us | 1.00 | 0.03 | - | - | - | 8520 B |
Brotli | Decompress_WithState | 2.1 | 2.1 | TestDocument.pdf | Fastest | 425.383 us | 0.6195 us | 0.4837 us | 425.291 us | 424.819 us | 426.16 us | 1.00 | 0.00 | - | - | - | 32 B |
Brotli | Decompress_WithState | 2.2 | 2.2 | TestDocument.pdf | Fastest | 429.053 us | 10.3107 us | 11.0323 us | 423.013 us | 421.895 us | 458.66 us | 1.02 | 0.03 | - | - | - | 32 B |
Deflate | Decompress | 2.1 | 2.1 | TestDocument.pdf | Fastest | 374.175 us | 9.5358 us | 10.2032 us | 373.330 us | 364.372 us | 397.37 us | 1.00 | 0.00 | - | - | - | 8464 B |
Deflate | Decompress | 2.2 | 2.2 | TestDocument.pdf | Fastest | 371.235 us | 9.6678 us | 10.3444 us | 366.084 us | 365.034 us | 404.39 us | 0.99 | 0.03 | - | - | - | 8464 B |
Gzip | Decompress | 2.1 | 2.1 | TestDocument.pdf | Fastest | 481.475 us | 0.5441 us | 0.4823 us | 481.515 us | 480.697 us | 482.15 us | 1.00 | 0.00 | - | - | - | 8504 B |
Gzip | Decompress | 2.2 | 2.2 | TestDocument.pdf | Fastest | 481.689 us | 0.5822 us | 0.4862 us | 481.651 us | 480.933 us | 482.47 us | 1.00 | 0.00 | - | - | - | 8504 B |
Brotli | Compress_WithoutState | 2.1 | 2.1 | TestDocument.pdf | Fastest | 70.358 us | 1.6776 us | 1.7228 us | 69.635 us | 68.848 us | 74.95 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Compress_WithoutState | 2.2 | 2.2 | TestDocument.pdf | Fastest | 70.363 us | 1.5905 us | 1.5621 us | 69.524 us | 69.291 us | 74.48 us | 1.00 | 0.02 | - | - | - | - |
Brotli | Decompress_WithoutState | 2.1 | 2.1 | TestDocument.pdf | Fastest | 437.828 us | 9.6034 us | 10.6742 us | 443.559 us | 423.727 us | 454.71 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Decompress_WithoutState | 2.2 | 2.2 | TestDocument.pdf | Fastest | 440.662 us | 12.2453 us | 13.6106 us | 441.769 us | 421.402 us | 464.80 us | 1.01 | 0.03 | - | - | - | - |
Brotli | Compress | 2.1 | 2.1 | TestDocument.pdf | Fastest | 585.056 us | 27.4712 us | 31.6358 us | 577.194 us | 548.314 us | 655.91 us | 1.00 | 0.00 | 9.6154 | - | - | 65680 B |
Brotli | Compress | 2.2 | 2.2 | TestDocument.pdf | Fastest | 595.454 us | 31.4759 us | 36.2477 us | 606.862 us | 533.406 us | 684.08 us | 1.02 | 0.06 | 8.1522 | - | - | 65680 B |
Brotli | Decompress | 2.1 | 2.1 | TestDocument.pdf | Fastest | 484.397 us | 17.8864 us | 19.1383 us | 473.197 us | 470.587 us | 533.70 us | 1.00 | 0.00 | 8.0645 | - | - | 65680 B |
Brotli | Decompress | 2.2 | 2.2 | TestDocument.pdf | Fastest | 483.098 us | 10.9523 us | 12.1735 us | 476.230 us | 472.128 us | 516.75 us | 1.00 | 0.04 | 9.7656 | - | - | 65680 B |
Brotli | Compress_WithState | 2.1 | 2.1 | TestDocument.pdf | Optimal | 50,949.260 us | 884.1291 us | 738.2879 us | 50,504.263 us | 50,337.691 us | 52,695.78 us | 1.00 | 0.00 | - | - | - | 32 B |
Brotli | Compress_WithState | 2.2 | 2.2 | TestDocument.pdf | Optimal | 49,772.173 us | 1,070.5056 us | 1,189.8641 us | 50,580.884 us | 48,469.407 us | 51,303.91 us | 0.99 | 0.03 | - | - | - | 32 B |
Deflate | Compress | 2.1 | 2.1 | TestDocument.pdf | Optimal | 2,833.221 us | 68.6492 us | 70.4977 us | 2,866.782 us | 2,740.437 us | 2,952.65 us | 1.00 | 0.00 | - | - | - | 8480 B |
Deflate | Compress | 2.2 | 2.2 | TestDocument.pdf | Optimal | 2,822.348 us | 62.0073 us | 66.3471 us | 2,867.262 us | 2,742.438 us | 2,942.75 us | 1.00 | 0.01 | - | - | - | 8480 B |
Gzip | Compress | 2.1 | 2.1 | TestDocument.pdf | Optimal | 2,821.797 us | 80.2036 us | 82.3632 us | 2,792.560 us | 2,748.530 us | 3,046.34 us | 1.00 | 0.00 | - | - | - | 8520 B |
Gzip | Compress | 2.2 | 2.2 | TestDocument.pdf | Optimal | 2,830.423 us | 72.6021 us | 80.6971 us | 2,868.989 us | 2,742.002 us | 3,049.16 us | 1.01 | 0.03 | - | - | - | 8520 B |
Brotli | Decompress_WithState | 2.1 | 2.1 | TestDocument.pdf | Optimal | 902.405 us | 28.4757 us | 30.4686 us | 887.287 us | 884.352 us | 983.05 us | 1.00 | 0.00 | - | - | - | 32 B |
Brotli | Decompress_WithState | 2.2 | 2.2 | TestDocument.pdf | Optimal | 919.591 us | 32.8756 us | 36.5412 us | 889.627 us | 886.521 us | 982.92 us | 1.02 | 0.03 | - | - | - | 32 B |
Deflate | Decompress | 2.1 | 2.1 | TestDocument.pdf | Optimal | 378.255 us | 10.5420 us | 11.7174 us | 370.119 us | 368.226 us | 408.61 us | 1.00 | 0.00 | - | - | - | 8464 B |
Deflate | Decompress | 2.2 | 2.2 | TestDocument.pdf | Optimal | 375.981 us | 9.7902 us | 10.4754 us | 369.473 us | 368.319 us | 403.56 us | 1.00 | 0.03 | - | - | - | 8464 B |
Gzip | Decompress | 2.1 | 2.1 | TestDocument.pdf | Optimal | 485.683 us | 0.4606 us | 0.4308 us | 485.783 us | 484.652 us | 486.36 us | 1.00 | 0.00 | - | - | - | 8504 B |
Gzip | Decompress | 2.2 | 2.2 | TestDocument.pdf | Optimal | 478.306 us | 14.9764 us | 16.0246 us | 475.712 us | 464.211 us | 521.00 us | 0.99 | 0.03 | - | - | - | 8504 B |
Brotli | Compress_WithoutState | 2.1 | 2.1 | TestDocument.pdf | Optimal | 67,834.100 us | 10,790.2145 us | 11,545.4087 us | 71,713.268 us | 35,744.303 us | 72,410.35 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Compress_WithoutState | 2.2 | 2.2 | TestDocument.pdf | Optimal | 67,480.971 us | 11,956.3964 us | 12,278.3388 us | 69,017.042 us | 36,165.116 us | 76,968.58 us | 1.00 | 0.05 | - | - | - | - |
Brotli | Decompress_WithoutState | 2.1 | 2.1 | TestDocument.pdf | Optimal | 908.465 us | 8.7230 us | 7.2841 us | 905.184 us | 901.152 us | 926.20 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Decompress_WithoutState | 2.2 | 2.2 | TestDocument.pdf | Optimal | 918.619 us | 26.3139 us | 27.0224 us | 924.159 us | 881.642 us | 980.10 us | 1.02 | 0.02 | - | - | - | - |
Brotli | Compress | 2.1 | 2.1 | TestDocument.pdf | Optimal | 19.599 us | 0.5634 us | 0.6489 us | 19.770 us | 18.595 us | 20.91 us | 1.00 | 0.00 | 10.3764 | 1.6892 | - | 65680 B |
Brotli | Compress | 2.2 | 2.2 | TestDocument.pdf | Optimal | 24.370 us | 3.2837 us | 3.7816 us | 24.025 us | 18.205 us | 31.32 us | 1.24 | 0.19 | 10.2459 | 1.6393 | - | 65680 B |
Brotli | Decompress | 2.1 | 2.1 | TestDocument.pdf | Optimal | 966.441 us | 18.8150 us | 17.5996 us | 974.152 us | 940.003 us | 982.85 us | 1.00 | 0.00 | 7.8125 | - | - | 65680 B |
Brotli | Decompress | 2.2 | 2.2 | TestDocument.pdf | Optimal | 961.497 us | 23.5738 us | 27.1477 us | 944.670 us | 938.773 us | 1,041.49 us | 1.00 | 0.02 | 7.8125 | - | - | 65680 B |
Brotli | Compress_WithState | 2.1 | 2.1 | alice29.txt | Fastest | 27.978 us | 0.4401 us | 0.3901 us | 28.249 us | 27.379 us | 28.41 us | 1.00 | 0.00 | - | - | - | 32 B |
Brotli | Compress_WithState | 2.2 | 2.2 | alice29.txt | Fastest | 28.020 us | 0.4494 us | 0.3984 us | 27.853 us | 27.659 us | 28.87 us | 1.00 | 0.02 | - | - | - | 32 B |
Deflate | Compress | 2.1 | 2.1 | alice29.txt | Fastest | 1,431.638 us | 47.6090 us | 52.9173 us | 1,441.813 us | 1,379.503 us | 1,527.99 us | 1.00 | 0.00 | - | - | - | 8480 B |
Deflate | Compress | 2.2 | 2.2 | alice29.txt | Fastest | 1,427.928 us | 40.7220 us | 43.5721 us | 1,442.152 us | 1,380.010 us | 1,529.87 us | 1.00 | 0.05 | - | - | - | 8480 B |
Gzip | Compress | 2.1 | 2.1 | alice29.txt | Fastest | 1,411.662 us | 28.0550 us | 31.1831 us | 1,386.960 us | 1,380.169 us | 1,446.50 us | 1.00 | 0.00 | - | - | - | 8520 B |
Gzip | Compress | 2.2 | 2.2 | alice29.txt | Fastest | 1,413.080 us | 28.5984 us | 31.7870 us | 1,387.655 us | 1,382.052 us | 1,446.72 us | 1.00 | 0.00 | - | - | - | 8520 B |
Brotli | Decompress_WithState | 2.1 | 2.1 | alice29.txt | Fastest | 579.431 us | 35.2989 us | 40.6502 us | 567.197 us | 538.742 us | 663.55 us | 1.00 | 0.00 | - | - | - | 32 B |
Brotli | Decompress_WithState | 2.2 | 2.2 | alice29.txt | Fastest | 552.217 us | 15.6127 us | 16.7054 us | 540.756 us | 537.938 us | 597.24 us | 0.95 | 0.06 | - | - | - | 32 B |
Deflate | Decompress | 2.1 | 2.1 | alice29.txt | Fastest | 573.187 us | 16.5558 us | 17.0016 us | 581.013 us | 554.795 us | 614.98 us | 1.00 | 0.00 | - | - | - | 8464 B |
Deflate | Decompress | 2.2 | 2.2 | alice29.txt | Fastest | 576.838 us | 11.0270 us | 9.2080 us | 580.480 us | 555.135 us | 581.26 us | 1.00 | 0.02 | - | - | - | 8464 B |
Gzip | Decompress | 2.1 | 2.1 | alice29.txt | Fastest | 695.642 us | 21.2384 us | 22.7249 us | 700.548 us | 669.677 us | 744.02 us | 1.00 | 0.00 | - | - | - | 8504 B |
Gzip | Decompress | 2.2 | 2.2 | alice29.txt | Fastest | 686.529 us | 23.1333 us | 25.7126 us | 670.828 us | 669.663 us | 742.96 us | 0.99 | 0.04 | - | - | - | 8504 B |
Brotli | Compress_WithoutState | 2.1 | 2.1 | alice29.txt | Fastest | 130.233 us | 2.4180 us | 2.0191 us | 129.461 us | 128.387 us | 133.22 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Compress_WithoutState | 2.2 | 2.2 | alice29.txt | Fastest | 130.817 us | 2.4114 us | 2.0136 us | 129.776 us | 128.963 us | 133.79 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Decompress_WithoutState | 2.1 | 2.1 | alice29.txt | Fastest | 553.583 us | 17.0256 us | 18.9239 us | 541.429 us | 539.359 us | 599.15 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Decompress_WithoutState | 2.2 | 2.2 | alice29.txt | Fastest | 544.100 us | 11.3175 us | 12.1096 us | 536.590 us | 534.871 us | 564.58 us | 0.98 | 0.02 | - | - | - | - |
Brotli | Compress | 2.1 | 2.1 | alice29.txt | Fastest | 1,359.233 us | 34.2060 us | 38.0198 us | 1,363.978 us | 1,314.599 us | 1,439.42 us | 1.00 | 0.00 | 5.2083 | - | - | 65680 B |
Brotli | Compress | 2.2 | 2.2 | alice29.txt | Fastest | 1,335.500 us | 24.6548 us | 21.8558 us | 1,322.347 us | 1,316.343 us | 1,369.33 us | 0.97 | 0.02 | 5.2083 | - | - | 65680 B |
Brotli | Decompress | 2.1 | 2.1 | alice29.txt | Fastest | 616.529 us | 12.7406 us | 14.1611 us | 609.845 us | 602.071 us | 656.46 us | 1.00 | 0.00 | 7.5000 | - | - | 65680 B |
Brotli | Decompress | 2.2 | 2.2 | alice29.txt | Fastest | 630.424 us | 26.2158 us | 30.1901 us | 627.136 us | 592.891 us | 694.22 us | 1.03 | 0.04 | 8.1522 | - | - | 65680 B |
Brotli | Compress_WithState | 2.1 | 2.1 | alice29.txt | Optimal | 12,178.632 us | 286.9030 us | 318.8919 us | 11,987.391 us | 11,944.679 us | 12,898.06 us | 1.00 | 0.00 | - | - | - | 32 B |
Brotli | Compress_WithState | 2.2 | 2.2 | alice29.txt | Optimal | 12,218.608 us | 358.0615 us | 351.6643 us | 12,055.726 us | 12,012.684 us | 13,257.23 us | 1.00 | 0.03 | - | - | - | 32 B |
Deflate | Compress | 2.1 | 2.1 | alice29.txt | Optimal | 4,560.452 us | 67.2215 us | 56.1330 us | 4,575.936 us | 4,374.137 us | 4,582.54 us | 1.00 | 0.00 | - | - | - | 8480 B |
Deflate | Compress | 2.2 | 2.2 | alice29.txt | Optimal | 4,546.102 us | 73.0128 us | 57.0036 us | 4,561.136 us | 4,365.356 us | 4,567.94 us | 0.99 | 0.01 | - | - | - | 8480 B |
Gzip | Compress | 2.1 | 2.1 | alice29.txt | Optimal | 4,527.487 us | 159.0113 us | 176.7407 us | 4,564.714 us | 4,359.547 us | 4,961.24 us | 1.00 | 0.00 | - | - | - | 8520 B |
Gzip | Compress | 2.2 | 2.2 | alice29.txt | Optimal | 4,442.368 us | 90.4835 us | 96.8164 us | 4,373.978 us | 4,361.070 us | 4,569.23 us | 0.98 | 0.03 | - | - | - | 8520 B |
Brotli | Decompress_WithState | 2.1 | 2.1 | alice29.txt | Optimal | 537.751 us | 10.3650 us | 9.6954 us | 533.137 us | 531.641 us | 558.38 us | 1.00 | 0.00 | - | - | - | 32 B |
Brotli | Decompress_WithState | 2.2 | 2.2 | alice29.txt | Optimal | 539.384 us | 12.0700 us | 13.4158 us | 530.366 us | 526.294 us | 561.38 us | 1.01 | 0.02 | - | - | - | 32 B |
Deflate | Decompress | 2.1 | 2.1 | alice29.txt | Optimal | 512.503 us | 11.4825 us | 12.2861 us | 519.571 us | 497.050 us | 535.21 us | 1.00 | 0.00 | - | - | - | 8464 B |
Deflate | Decompress | 2.2 | 2.2 | alice29.txt | Optimal | 512.085 us | 13.4809 us | 14.9840 us | 519.559 us | 496.749 us | 550.47 us | 1.00 | 0.02 | - | - | - | 8464 B |
Gzip | Decompress | 2.1 | 2.1 | alice29.txt | Optimal | 637.489 us | 8.3574 us | 7.4086 us | 639.276 us | 611.796 us | 640.28 us | 1.00 | 0.00 | - | - | - | 8504 B |
Gzip | Decompress | 2.2 | 2.2 | alice29.txt | Optimal | 635.674 us | 12.0830 us | 9.4336 us | 639.483 us | 610.639 us | 640.05 us | 0.99 | 0.01 | - | - | - | 8504 B |
Brotli | Compress_WithoutState | 2.1 | 2.1 | alice29.txt | Optimal | 215,320.730 us | 153,019.8537 us | 176,217.8911 us | 82,749.061 us | 42,998.481 us | 456,319.84 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Compress_WithoutState | 2.2 | 2.2 | alice29.txt | Optimal | 212,571.533 us | 150,511.5531 us | 173,329.3284 us | 82,614.634 us | 42,877.882 us | 447,548.62 us | 0.99 | 0.02 | - | - | - | - |
Brotli | Decompress_WithoutState | 2.1 | 2.1 | alice29.txt | Optimal | 530.747 us | 10.3425 us | 10.6210 us | 525.771 us | 523.589 us | 550.91 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Decompress_WithoutState | 2.2 | 2.2 | alice29.txt | Optimal | 549.735 us | 10.6694 us | 9.4581 us | 548.174 us | 540.492 us | 574.42 us | 1.03 | 0.02 | - | - | - | - |
Brotli | Compress | 2.1 | 2.1 | alice29.txt | Optimal | 31.738 us | 3.6664 us | 4.2223 us | 30.937 us | 24.213 us | 40.45 us | 1.00 | 0.00 | 10.3666 | 1.6526 | - | 65680 B |
Brotli | Compress | 2.2 | 2.2 | alice29.txt | Optimal | 28.147 us | 1.8900 us | 2.0223 us | 28.377 us | 24.849 us | 31.12 us | 0.89 | 0.13 | 10.2814 | 1.6234 | - | 65680 B |
Brotli | Decompress | 2.1 | 2.1 | alice29.txt | Optimal | 625.759 us | 40.1969 us | 46.2908 us | 611.676 us | 587.489 us | 728.17 us | 1.00 | 0.00 | 9.6154 | - | - | 65680 B |
Brotli | Decompress | 2.2 | 2.2 | alice29.txt | Optimal | 612.915 us | 30.1041 us | 34.6679 us | 592.072 us | 587.964 us | 696.78 us | 0.98 | 0.06 | 9.6154 | - | - | 65680 B |
Brotli | Compress_WithState | 2.1 | 2.1 | sum | Fastest | 49.256 us | 1.3254 us | 1.4732 us | 48.339 us | 48.016 us | 53.51 us | 1.00 | 0.00 | - | - | - | 32 B |
Brotli | Compress_WithState | 2.2 | 2.2 | sum | Fastest | 49.738 us | 1.6349 us | 1.8172 us | 48.500 us | 48.267 us | 54.42 us | 1.01 | 0.01 | - | - | - | 32 B |
Deflate | Compress | 2.1 | 2.1 | sum | Fastest | 284.954 us | 10.2049 us | 11.7519 us | 280.885 us | 267.557 us | 303.58 us | 1.00 | 0.00 | - | - | - | 8480 B |
Deflate | Compress | 2.2 | 2.2 | sum | Fastest | 281.211 us | 9.8843 us | 11.3828 us | 281.001 us | 265.823 us | 301.23 us | 0.99 | 0.05 | - | - | - | 8480 B |
Gzip | Compress | 2.1 | 2.1 | sum | Fastest | 286.698 us | 10.1403 us | 11.2709 us | 281.557 us | 268.728 us | 308.83 us | 1.00 | 0.00 | - | - | - | 8520 B |
Gzip | Compress | 2.2 | 2.2 | sum | Fastest | 281.096 us | 3.3392 us | 2.7884 us | 281.870 us | 271.925 us | 282.68 us | 0.97 | 0.04 | - | - | - | 8520 B |
Brotli | Decompress_WithState | 2.1 | 2.1 | sum | Fastest | 144.909 us | 4.2017 us | 4.6702 us | 146.601 us | 139.897 us | 154.55 us | 1.00 | 0.00 | - | - | - | 32 B |
Brotli | Decompress_WithState | 2.2 | 2.2 | sum | Fastest | 144.698 us | 3.6943 us | 4.2543 us | 146.727 us | 140.160 us | 156.83 us | 1.00 | 0.01 | - | - | - | 32 B |
Deflate | Decompress | 2.1 | 2.1 | sum | Fastest | 141.067 us | 7.5236 us | 8.3625 us | 137.904 us | 132.726 us | 160.35 us | 1.00 | 0.00 | 1.1364 | - | - | 8464 B |
Deflate | Decompress | 2.2 | 2.2 | sum | Fastest | 142.782 us | 5.8360 us | 6.7207 us | 141.589 us | 133.533 us | 158.82 us | 1.02 | 0.05 | 1.1792 | - | - | 8464 B |
Gzip | Decompress | 2.1 | 2.1 | sum | Fastest | 172.828 us | 6.8715 us | 7.6377 us | 169.557 us | 161.183 us | 186.56 us | 1.00 | 0.00 | 0.7267 | - | - | 8504 B |
Gzip | Decompress | 2.2 | 2.2 | sum | Fastest | 170.649 us | 5.9354 us | 6.5972 us | 168.759 us | 160.745 us | 186.48 us | 0.99 | 0.03 | 0.7022 | - | - | 8504 B |
Brotli | Compress_WithoutState | 2.1 | 2.1 | sum | Fastest | 132.690 us | 2.4855 us | 2.4411 us | 131.342 us | 130.960 us | 136.95 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Compress_WithoutState | 2.2 | 2.2 | sum | Fastest | 145.228 us | 2.8314 us | 2.5100 us | 144.698 us | 142.313 us | 148.61 us | 1.09 | 0.01 | - | - | - | - |
Brotli | Decompress_WithoutState | 2.1 | 2.1 | sum | Fastest | 143.506 us | 3.9024 us | 4.3375 us | 140.829 us | 139.273 us | 154.46 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Decompress_WithoutState | 2.2 | 2.2 | sum | Fastest | 141.041 us | 2.7496 us | 2.5720 us | 139.743 us | 139.380 us | 145.99 us | 0.98 | 0.03 | - | - | - | - |
Brotli | Compress | 2.1 | 2.1 | sum | Fastest | 267.926 us | 23.5039 us | 27.0671 us | 268.108 us | 234.208 us | 309.63 us | 1.00 | 0.00 | 9.1146 | 1.3021 | - | 65680 B |
Brotli | Compress | 2.2 | 2.2 | sum | Fastest | 269.002 us | 31.4888 us | 36.2625 us | 260.713 us | 220.417 us | 343.73 us | 1.00 | 0.08 | 10.0000 | 1.2500 | - | 65680 B |
Brotli | Decompress | 2.1 | 2.1 | sum | Fastest | 157.612 us | 8.2605 us | 9.5128 us | 151.639 us | 148.509 us | 181.18 us | 1.00 | 0.00 | 10.0806 | 1.3441 | - | 65680 B |
Brotli | Decompress | 2.2 | 2.2 | sum | Fastest | 163.103 us | 11.7923 us | 13.5800 us | 156.399 us | 149.725 us | 189.23 us | 1.03 | 0.06 | 9.9734 | 1.3298 | - | 65680 B |
Brotli | Compress_WithState | 2.1 | 2.1 | sum | Optimal | 15,148.139 us | 219.9062 us | 194.9412 us | 15,184.916 us | 14,495.669 us | 15,336.55 us | 1.00 | 0.00 | - | - | - | 32 B |
Brotli | Compress_WithState | 2.2 | 2.2 | sum | Optimal | 14,778.471 us | 313.9114 us | 348.9117 us | 14,546.649 us | 14,455.915 us | 15,250.98 us | 0.98 | 0.02 | - | - | - | 32 B |
Deflate | Compress | 2.1 | 2.1 | sum | Optimal | 645.001 us | 27.0341 us | 31.1325 us | 640.959 us | 600.889 us | 708.54 us | 1.00 | 0.00 | - | - | - | 8480 B |
Deflate | Compress | 2.2 | 2.2 | sum | Optimal | 624.753 us | 16.0649 us | 17.1892 us | 616.073 us | 600.345 us | 669.91 us | 0.96 | 0.05 | - | - | - | 8480 B |
Gzip | Compress | 2.1 | 2.1 | sum | Optimal | 631.322 us | 20.3168 us | 20.8639 us | 641.291 us | 601.629 us | 673.25 us | 1.00 | 0.00 | - | - | - | 8520 B |
Gzip | Compress | 2.2 | 2.2 | sum | Optimal | 622.437 us | 13.3273 us | 14.8132 us | 615.522 us | 603.442 us | 645.56 us | 0.99 | 0.03 | - | - | - | 8520 B |
Brotli | Decompress_WithState | 2.1 | 2.1 | sum | Optimal | 171.199 us | 4.5705 us | 4.8904 us | 169.043 us | 168.590 us | 186.78 us | 1.00 | 0.00 | - | - | - | 32 B |
Brotli | Decompress_WithState | 2.2 | 2.2 | sum | Optimal | 174.435 us | 4.6561 us | 5.1752 us | 177.357 us | 169.396 us | 187.21 us | 1.02 | 0.04 | - | - | - | 32 B |
Deflate | Decompress | 2.1 | 2.1 | sum | Optimal | 133.980 us | 5.7189 us | 6.5859 us | 135.896 us | 124.975 us | 146.11 us | 1.00 | 0.00 | 1.1161 | - | - | 8464 B |
Deflate | Decompress | 2.2 | 2.2 | sum | Optimal | 135.764 us | 6.9404 us | 7.9926 us | 137.896 us | 124.623 us | 155.54 us | 1.01 | 0.05 | 1.1062 | - | - | 8464 B |
Gzip | Decompress | 2.1 | 2.1 | sum | Optimal | 164.184 us | 6.3748 us | 7.0856 us | 162.333 us | 156.132 us | 182.10 us | 1.00 | 0.00 | 0.6720 | - | - | 8504 B |
Gzip | Decompress | 2.2 | 2.2 | sum | Optimal | 164.380 us | 5.6044 us | 6.2292 us | 161.963 us | 156.844 us | 179.99 us | 1.00 | 0.05 | 0.6720 | - | - | 8504 B |
Brotli | Compress_WithoutState | 2.1 | 2.1 | sum | Optimal | 21,132.472 us | 1,421.3659 us | 1,395.9713 us | 21,349.632 us | 16,035.157 us | 22,571.30 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Compress_WithoutState | 2.2 | 2.2 | sum | Optimal | 21,757.353 us | 1,932.9511 us | 1,898.4164 us | 22,038.158 us | 15,892.107 us | 24,245.29 us | 1.03 | 0.06 | - | - | - | - |
Brotli | Decompress_WithoutState | 2.1 | 2.1 | sum | Optimal | 171.241 us | 3.9345 us | 4.3732 us | 167.531 us | 167.123 us | 179.25 us | 1.00 | 0.00 | - | - | - | - |
Brotli | Decompress_WithoutState | 2.2 | 2.2 | sum | Optimal | 168.911 us | 3.2063 us | 3.1490 us | 167.496 us | 167.234 us | 175.41 us | 0.98 | 0.02 | - | - | - | - |
Brotli | Compress | 2.1 | 2.1 | sum | Optimal | 9.138 us | 0.6872 us | 0.7914 us | 8.679 us | 8.272 us | 10.78 us | 1.00 | 0.00 | 10.3821 | 1.6957 | - | 65680 B |
Brotli | Compress | 2.2 | 2.2 | sum | Optimal | 9.037 us | 0.5769 us | 0.6412 us | 8.938 us | 8.337 us | 10.47 us | 0.99 | 0.06 | 10.4023 | 1.7194 | - | 65680 B |
Brotli | Decompress | 2.1 | 2.1 | sum | Optimal | 192.913 us | 4.7593 us | 5.0924 us | 195.390 us | 185.163 us | 201.56 us | 1.00 | 0.00 | 9.6154 | 0.8013 | - | 65680 B |
Brotli | Decompress | 2.2 | 2.2 | sum | Optimal | 187.686 us | 4.2825 us | 4.5822 us | 186.932 us | 182.286 us | 197.73 us | 0.97 | 0.02 | 9.6154 | 0.8013 | - | 65680 B |
from performance.
System.IO.Pipes
No significant difference.
Type | Method | Job | Toolchain | size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Perf_AnonymousPipeStream_ServerIn_ClientOut | ReadWrite | 2.1 | 2.1 | 1000000 | 328.6 us | 6.422 us | 6.871 us | 327.9 us | 319.7 us | 345.6 us | 1.00 | 0.00 | - | - | - | 245 B |
Perf_AnonymousPipeStream_ServerIn_ClientOut | ReadWrite | 2.2 | 2.2 | 1000000 | 332.8 us | 7.318 us | 7.830 us | 331.7 us | 323.5 us | 355.0 us | 1.01 | 0.03 | - | - | - | 241 B |
Perf_AnonymousPipeStream_ServerOut_ClientIn | ReadWrite | 2.1 | 2.1 | 1000000 | 340.3 us | 10.454 us | 12.039 us | 338.0 us | 324.8 us | 367.7 us | 1.00 | 0.00 | - | - | - | 242 B |
Perf_AnonymousPipeStream_ServerOut_ClientIn | ReadWrite | 2.2 | 2.2 | 1000000 | 339.3 us | 9.377 us | 10.423 us | 339.1 us | 324.1 us | 354.1 us | 1.00 | 0.05 | - | - | - | 231 B |
Perf_NamedPipeStream_ServerInOut_ClientInOut | ReadWrite | 2.1 | 2.1 | 1000000 | 476.7 us | 61.771 us | 71.135 us | 447.8 us | 382.9 us | 636.0 us | 1.00 | 0.00 | - | - | - | 548 B |
Perf_NamedPipeStream_ServerInOut_ClientInOut | ReadWrite | 2.2 | 2.2 | 1000000 | 442.8 us | 27.261 us | 31.393 us | 439.4 us | 388.7 us | 514.0 us | 0.95 | 0.15 | - | - | - | 561 B |
Perf_NamedPipeStream_ServerIn_ClientOut | ReadWrite | 2.1 | 2.1 | 1000000 | 435.7 us | 15.508 us | 17.860 us | 438.4 us | 403.6 us | 468.5 us | 1.00 | 0.00 | - | - | - | 531 B |
Perf_NamedPipeStream_ServerIn_ClientOut | ReadWrite | 2.2 | 2.2 | 1000000 | 466.9 us | 75.463 us | 86.904 us | 441.1 us | 365.6 us | 671.4 us | 1.07 | 0.20 | - | - | - | 548 B |
Perf_NamedPipeStream_ServerOut_ClientIn | ReadWrite | 2.1 | 2.1 | 1000000 | 544.5 us | 77.451 us | 89.192 us | 581.6 us | 411.0 us | 652.6 us | 1.00 | 0.00 | - | - | - | 543 B |
Perf_NamedPipeStream_ServerOut_ClientIn | ReadWrite | 2.2 | 2.2 | 1000000 | 506.8 us | 88.881 us | 102.355 us | 454.5 us | 394.4 us | 654.8 us | 0.97 | 0.31 | - | - | - | 522 B |
from performance.
System.Collections Remove
No significant difference.
Method | Toolchain | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
List | .NET Core 2.1 | 512 | 24.328 us | 0.1930 us | 0.1711 us | 24.281 us | 24.118 us | 24.644 us | 1.00 | 0.00 | - | - | - | - |
List | 2.2 | 512 | 23.037 us | 0.1060 us | 0.0940 us | 23.027 us | 22.875 us | 23.193 us | 0.95 | 0.01 | - | - | - | - |
ICollection | .NET Core 2.1 | 512 | 25.160 us | 0.2151 us | 0.1796 us | 25.097 us | 24.962 us | 25.624 us | 1.00 | 0.00 | - | - | - | - |
ICollection | 2.2 | 512 | 23.095 us | 0.5677 us | 0.6538 us | 22.753 us | 22.517 us | 24.332 us | 0.93 | 0.03 | - | - | - | - |
LinkedList | .NET Core 2.1 | 512 | 5.420 us | 0.1111 us | 0.0985 us | 5.410 us | 5.327 us | 5.662 us | 1.00 | 0.00 | - | - | - | - |
LinkedList | 2.2 | 512 | 5.982 us | 0.1490 us | 0.1530 us | 5.938 us | 5.853 us | 6.452 us | 1.10 | 0.04 | - | - | - | - |
HashSet | .NET Core 2.1 | 512 | 10.469 us | 0.6257 us | 0.7205 us | 10.540 us | 9.063 us | 11.418 us | 1.00 | 0.00 | - | - | - | - |
HashSet | 2.2 | 512 | 11.560 us | 0.5536 us | 0.6375 us | 11.590 us | 10.312 us | 12.520 us | 1.11 | 0.10 | - | - | - | - |
Dictionary | .NET Core 2.1 | 512 | 8.617 us | 0.6234 us | 0.7179 us | 8.594 us | 6.912 us | 9.887 us | 1.00 | 0.00 | - | - | - | - |
Dictionary | 2.2 | 512 | 8.661 us | 0.6137 us | 0.7068 us | 8.786 us | 7.091 us | 9.644 us | 1.01 | 0.13 | - | - | - | - |
SortedList | .NET Core 2.1 | 512 | 53.208 us | 0.1303 us | 0.1017 us | 53.230 us | 53.002 us | 53.333 us | 1.00 | 0.00 | - | - | - | - |
SortedList | 2.2 | 512 | 52.016 us | 0.5059 us | 0.4485 us | 51.918 us | 51.204 us | 53.184 us | 0.98 | 0.01 | - | - | - | - |
SortedSet | .NET Core 2.1 | 512 | 67.191 us | 2.1841 us | 2.5152 us | 65.588 us | 65.039 us | 73.305 us | 1.00 | 0.00 | - | - | - | - |
SortedSet | 2.2 | 512 | 68.372 us | 1.7252 us | 1.8460 us | 68.244 us | 65.734 us | 73.079 us | 1.02 | 0.04 | - | - | - | - |
SortedDictionary | .NET Core 2.1 | 512 | 84.637 us | 1.7489 us | 1.9439 us | 84.699 us | 81.966 us | 88.960 us | 1.00 | 0.00 | - | - | - | - |
SortedDictionary | 2.2 | 512 | 85.881 us | 2.9176 us | 3.2429 us | 84.752 us | 81.980 us | 93.862 us | 1.01 | 0.02 | - | - | - | - |
ConcurrentDictionary | .NET Core 2.1 | 512 | 32.375 us | 0.3961 us | 0.3512 us | 32.251 us | 32.026 us | 33.055 us | 1.00 | 0.00 | - | - | - | - |
ConcurrentDictionary | 2.2 | 512 | 32.962 us | 0.7782 us | 0.6899 us | 33.117 us | 32.090 us | 34.657 us | 1.02 | 0.02 | - | - | - | - |
Stack | .NET Core 2.1 | 512 | 1.174 us | 0.0297 us | 0.0291 us | 1.160 us | 1.157 us | 1.237 us | 1.00 | 0.00 | - | - | - | - |
Stack | 2.2 | 512 | 1.131 us | 0.0958 us | 0.0941 us | 1.183 us | 1.023 us | 1.303 us | 0.97 | 0.09 | - | - | - | - |
ConcurrentStack | .NET Core 2.1 | 512 | 5.325 us | 0.1006 us | 0.0941 us | 5.285 us | 5.249 us | 5.521 us | 1.00 | 0.00 | - | - | - | - |
ConcurrentStack | 2.2 | 512 | 5.402 us | 0.0928 us | 0.0775 us | 5.403 us | 5.310 us | 5.604 us | 1.01 | 0.03 | - | - | - | - |
Queue | .NET Core 2.1 | 512 | 1.555 us | 0.1239 us | 0.1272 us | 1.460 us | 1.430 us | 1.730 us | 1.00 | 0.00 | - | - | - | - |
Queue | 2.2 | 512 | 1.436 us | 0.0071 us | 0.0060 us | 1.433 us | 1.433 us | 1.453 us | 0.91 | 0.08 | - | - | - | - |
ConcurrentQueue | .NET Core 2.1 | 512 | 7.592 us | 0.1047 us | 0.0928 us | 7.597 us | 7.441 us | 7.758 us | 1.00 | 0.00 | - | - | - | - |
ConcurrentQueue | 2.2 | 512 | 7.496 us | 0.1438 us | 0.1539 us | 7.532 us | 7.190 us | 7.721 us | 0.99 | 0.03 | - | - | - | - |
ConcurrentBag | .NET Core 2.1 | 512 | 13.349 us | 0.0846 us | 0.0707 us | 13.329 us | 13.268 us | 13.522 us | 1.00 | 0.00 | - | - | - | - |
ConcurrentBag | 2.2 | 512 | 13.511 us | 0.2078 us | 0.1842 us | 13.519 us | 13.234 us | 13.804 us | 1.01 | 0.01 | - | - | - | - |
For T = string
Method | Toolchain | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
List | .NET Core 2.1 | 512 | 46.693 us | 0.6193 us | 0.5171 us | 46.665 us | 46.076 us | 48.028 us | 1.00 | 0.00 | - | - | - | - |
List | 2.2 | 512 | 45.579 us | 0.5016 us | 0.4446 us | 45.416 us | 45.120 us | 46.707 us | 0.98 | 0.02 | - | - | - | - |
ICollection | .NET Core 2.1 | 512 | 44.459 us | 0.1791 us | 0.1398 us | 44.449 us | 44.306 us | 44.854 us | 1.00 | 0.00 | - | - | - | - |
ICollection | 2.2 | 512 | 46.397 us | 0.1422 us | 0.1260 us | 46.393 us | 46.237 us | 46.653 us | 1.04 | 0.00 | - | - | - | - |
LinkedList | .NET Core 2.1 | 512 | 11.175 us | 0.1456 us | 0.1362 us | 11.160 us | 10.831 us | 11.419 us | 1.00 | 0.00 | - | - | - | - |
LinkedList | 2.2 | 512 | 11.138 us | 0.0946 us | 0.0885 us | 11.146 us | 10.918 us | 11.271 us | 1.00 | 0.01 | - | - | - | - |
HashSet | .NET Core 2.1 | 512 | 30.279 us | 1.1910 us | 1.3715 us | 30.859 us | 28.004 us | 32.808 us | 1.00 | 0.00 | - | - | - | - |
HashSet | 2.2 | 512 | 31.179 us | 0.8323 us | 0.8547 us | 31.624 us | 29.571 us | 31.926 us | 1.02 | 0.04 | - | - | - | - |
Dictionary | .NET Core 2.1 | 512 | 22.366 us | 0.6929 us | 0.7979 us | 22.199 us | 21.407 us | 23.865 us | 1.00 | 0.00 | - | - | - | - |
Dictionary | 2.2 | 512 | 22.976 us | 0.7315 us | 0.8131 us | 23.082 us | 21.961 us | 24.020 us | 1.03 | 0.05 | - | - | - | - |
SortedList | .NET Core 2.1 | 512 | 447.515 us | 0.6044 us | 0.4718 us | 447.360 us | 447.022 us | 448.495 us | 1.00 | 0.00 | - | - | - | - |
SortedList | 2.2 | 512 | 437.847 us | 1.1754 us | 0.9815 us | 437.820 us | 436.592 us | 440.482 us | 0.98 | 0.00 | - | - | - | - |
SortedSet | .NET Core 2.1 | 512 | 428.420 us | 0.4015 us | 0.3352 us | 428.369 us | 427.877 us | 428.937 us | 1.00 | 0.00 | - | - | - | - |
SortedSet | 2.2 | 512 | 413.770 us | 0.7857 us | 0.6134 us | 413.675 us | 412.857 us | 415.129 us | 0.97 | 0.00 | - | - | - | - |
SortedDictionary | .NET Core 2.1 | 512 | 475.892 us | 0.4826 us | 0.4278 us | 475.826 us | 475.207 us | 476.764 us | 1.00 | 0.00 | - | - | - | - |
SortedDictionary | 2.2 | 512 | 469.765 us | 0.5858 us | 0.5193 us | 469.644 us | 468.994 us | 470.895 us | 0.99 | 0.00 | - | - | - | - |
ConcurrentDictionary | .NET Core 2.1 | 512 | 45.990 us | 0.8887 us | 0.9509 us | 45.516 us | 44.914 us | 47.105 us | 1.00 | 0.00 | - | - | - | - |
ConcurrentDictionary | 2.2 | 512 | 53.682 us | 1.0327 us | 0.8623 us | 53.070 us | 52.849 us | 54.752 us | 1.16 | 0.02 | - | - | - | - |
Stack | .NET Core 2.1 | 512 | 2.698 us | 0.0889 us | 0.1024 us | 2.646 us | 2.593 us | 2.949 us | 1.00 | 0.00 | - | - | - | - |
Stack | 2.2 | 512 | 2.786 us | 0.0523 us | 0.0514 us | 2.766 us | 2.748 us | 2.923 us | 1.03 | 0.04 | - | - | - | - |
ConcurrentStack | .NET Core 2.1 | 512 | 5.677 us | 0.0353 us | 0.0313 us | 5.661 us | 5.650 us | 5.753 us | 1.00 | 0.00 | - | - | - | - |
ConcurrentStack | 2.2 | 512 | 6.079 us | 0.0272 us | 0.0241 us | 6.077 us | 6.026 us | 6.116 us | 1.07 | 0.01 | - | - | - | - |
Queue | .NET Core 2.1 | 512 | 2.995 us | 0.0138 us | 0.0122 us | 2.988 us | 2.986 us | 3.023 us | 1.00 | 0.00 | - | - | - | - |
Queue | 2.2 | 512 | 2.813 us | 0.3375 us | 0.3611 us | 2.624 us | 2.592 us | 3.631 us | 0.96 | 0.13 | - | - | - | - |
ConcurrentQueue | .NET Core 2.1 | 512 | 6.960 us | 0.0352 us | 0.0275 us | 6.955 us | 6.926 us | 7.015 us | 1.00 | 0.00 | - | - | - | - |
ConcurrentQueue | 2.2 | 512 | 6.742 us | 0.1838 us | 0.2117 us | 6.650 us | 6.527 us | 7.084 us | 0.99 | 0.03 | - | - | - | - |
ConcurrentBag | .NET Core 2.1 | 512 | 12.746 us | 0.3992 us | 0.4438 us | 12.933 us | 12.238 us | 13.547 us | 1.00 | 0.00 | - | - | - | - |
ConcurrentBag | 2.2 | 512 | 11.806 us | 0.0657 us | 0.0582 us | 11.794 us | 11.733 us | 11.910 us | 0.92 | 0.03 | - | - | - | - |
from performance.
System.Collections.Sort
No significant difference. Difference visible in the results below gone after re-run.
Method | Toolchain | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Array | .NET Core 2.1 | 512 | 4.062 us | 0.1839 us | 0.1806 us | 3.986 us | 3.903 us | 4.617 us | 1.00 | 0.00 | - | - | - | - |
Array | 2.2 | 512 | 4.059 us | 0.2554 us | 0.2509 us | 3.967 us | 3.883 us | 4.887 us | 1.00 | 0.08 | - | - | - | - |
List | .NET Core 2.1 | 512 | 2.482 us | 0.0877 us | 0.0975 us | 2.513 us | 2.296 us | 2.615 us | 1.00 | 0.00 | - | - | - | - |
List | 2.2 | 512 | 2.355 us | 0.1095 us | 0.1024 us | 2.305 us | 2.295 us | 2.615 us | 0.96 | 0.07 | - | - | - | - |
LinqQuery | .NET Core 2.1 | 512 | 52.518 us | 2.2913 us | 2.5468 us | 50.723 us | 50.371 us | 56.461 us | 1.00 | 0.00 | - | - | - | 6544 B |
LinqQuery | 2.2 | 512 | 64.859 us | 9.3317 us | 10.7464 us | 60.293 us | 55.980 us | 82.864 us | 1.22 | 0.22 | - | - | - | 6544 B |
LinqOrderByExtension | .NET Core 2.1 | 512 | 68.683 us | 11.6686 us | 13.4376 us | 65.368 us | 55.601 us | 101.577 us | 1.00 | 0.00 | - | - | - | 6544 B |
LinqOrderByExtension | 2.2 | 512 | 54.375 us | 1.3379 us | 1.4870 us | 53.449 us | 53.124 us | 57.063 us | 0.83 | 0.14 | - | - | - | 6544 B |
For T = string
Method | Toolchain | Size | Mean | Error | StdDev | Median | Min | Max | Ratio | RatioSD | Gen 0/1k Op | Gen 1/1k Op | Gen 2/1k Op | Allocated Memory/Op |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Array | .NET Core 2.1 | 512 | 587.0 us | 0.5920 us | 0.4943 us | 586.9 us | 586.4 us | 588.2 us | 1.00 | 0.00 | - | - | - | - |
Array | 2.2 | 512 | 584.2 us | 13.1380 us | 14.6029 us | 575.8 us | 575.1 us | 621.9 us | 1.00 | 0.03 | - | - | - | - |
List | .NET Core 2.1 | 512 | 349.2 us | 7.7211 us | 8.8916 us | 349.7 us | 339.8 us | 367.5 us | 1.00 | 0.00 | - | - | - | - |
List | 2.2 | 512 | 339.4 us | 8.2921 us | 9.5492 us | 333.6 us | 332.2 us | 366.2 us | 0.97 | 0.02 | - | - | - | - |
LinqQuery | .NET Core 2.1 | 512 | 649.9 us | 17.7282 us | 19.7049 us | 639.2 us | 638.2 us | 712.8 us | 1.00 | 0.00 | 1.0000 | - | - | 10640 B |
LinqQuery | 2.2 | 512 | 642.1 us | 13.0776 us | 11.5930 us | 636.5 us | 635.8 us | 666.6 us | 0.98 | 0.03 | 1.0000 | - | - | 10640 B |
LinqOrderByExtension | .NET Core 2.1 | 512 | 645.6 us | 17.6340 us | 18.8682 us | 637.0 us | 635.8 us | 705.0 us | 1.00 | 0.00 | 1.0000 | - | - | 10640 B |
LinqOrderByExtension | 2.2 | 512 | 654.7 us | 12.6411 us | 12.4152 us | 648.2 us | 647.0 us | 679.3 us | 1.01 | 0.02 | 1.0000 | - | - | 10640 B |
from performance.
Related Issues (20)
- Automatically close perf autofiling sentinel issue
- [perf] Add support for SOD autofilling issues targeting apple mobile platforms HOT 1
- Validate ADX query for Mono runs HOT 1
- [wasm] set MetricsSupport to false for BlazorMinimumSize blazor_scenarios build HOT 1
- [perf] Enable Maui Podcast app performance measurements
- Setup MicroBenchmarks run with R2R disabled HOT 1
- Fix MD linter errors
- CtfTraceEventSource fails to parse on arm64 Ubuntu 20.04
- [perf] Mono performance jobs are failing to install prerequisites HOT 6
- Maui iOS setup is not propagating failure HOT 1
- "Out of memory" error when running GC benchmarks HOT 1
- Improvement request for the local testing script for microbenchmarks HOT 3
- New System.Net.Security.Tests.SslStreamTests.LargeWriteReadAsync benchmark timing out pipeline HOT 8
- mono-jit autofile for 10/03 missing HOT 3
- Mono AOT runs failing due to precompiling failure HOT 1
- Wasm warning 'unknown flag --experimental-wasm-eh' HOT 3
- WinForms scenario warning about BinaryFormatter in resx
- Syntax warning from androidhelper.py
- benchmarks_local bdn-arguments join requires space HOT 1
- Some tests have warning about the test being indistinguishable from empty
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from performance.