Git Product home page Git Product logo

Comments (47)

adamsitnik avatar adamsitnik commented on September 25, 2024 2

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 MethodToolchainSizeMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
CopyTo<Int32>Array2.12048222.5 ns3.5224 ns3.2949 ns220.6 ns220.1 ns228.9 ns1.000.00----
CopyTo<Int32>Array2.22048173.8 ns0.2775 ns0.2167 ns173.7 ns173.5 ns174.1 ns0.780.01----
CopyTo<String>Array2.12048492.6 ns1.0402 ns0.9221 ns492.7 ns490.6 ns494.1 ns1.000.00----
CopyTo<String>Array2.22048500.7 ns0.9908 ns0.8783 ns500.5 ns499.5 ns502.2 ns1.020.00----
CopyTo<Int32>Span2.12048221.0 ns0.6380 ns0.5655 ns220.7 ns220.6 ns222.3 ns1.000.00----
CopyTo<Int32>Span2.22048177.0 ns0.1506 ns0.1258 ns177.0 ns176.8 ns177.3 ns0.800.00----
CopyTo<String>Span2.12048592.6 ns4.9537 ns4.3914 ns591.2 ns587.5 ns599.9 ns1.000.00----
CopyTo<String>Span2.22048577.1 ns3.4741 ns3.0797 ns576.6 ns571.7 ns581.7 ns0.970.01----
CopyTo<Int32>ReadOnlySpan2.12048222.8 ns0.3551 ns0.3148 ns222.8 ns222.4 ns223.6 ns1.000.00----
CopyTo<Int32>ReadOnlySpan2.22048175.9 ns6.1831 ns5.7837 ns172.9 ns172.3 ns188.2 ns0.790.03----
CopyTo<String>ReadOnlySpan2.12048570.3 ns4.9975 ns4.6747 ns571.1 ns562.0 ns576.2 ns1.000.00----
CopyTo<String>ReadOnlySpan2.22048553.3 ns4.6699 ns3.8995 ns554.4 ns547.2 ns559.3 ns0.970.01----
CopyTo<Int32>Memory2.12048234.6 ns3.5531 ns3.3236 ns234.3 ns231.2 ns240.5 ns1.000.00----
CopyTo<Int32>Memory2.22048189.7 ns0.2401 ns0.2005 ns189.6 ns189.4 ns190.0 ns0.810.01----
CopyTo<String>Memory2.12048649.3 ns3.1871 ns2.8253 ns649.2 ns642.5 ns652.7 ns1.000.00----
CopyTo<String>Memory2.22048630.2 ns3.5866 ns3.3549 ns629.8 ns624.7 ns636.0 ns0.970.01----
CopyTo<Int32>ReadOnlyMemory2.12048232.1 ns0.2445 ns0.2168 ns232.1 ns231.7 ns232.5 ns1.000.00----
CopyTo<Int32>ReadOnlyMemory2.22048189.5 ns0.1902 ns0.1779 ns189.5 ns189.2 ns189.8 ns0.820.00----
CopyTo<String>ReadOnlyMemory2.12048625.0 ns2.3673 ns2.0986 ns624.8 ns622.5 ns629.0 ns1.000.00----
CopyTo<String>ReadOnlyMemory2.22048620.3 ns4.6462 ns3.8798 ns619.4 ns615.5 ns627.2 ns0.990.01----
CopyTo<Int32>List2.12048223.5 ns0.3034 ns0.2533 ns223.4 ns223.2 ns223.9 ns1.000.00----
CopyTo<Int32>List2.22048192.7 ns2.0393 ns1.8078 ns191.9 ns191.3 ns197.5 ns0.860.01----
CopyTo<String>List2.12048486.6 ns2.1756 ns2.0351 ns486.0 ns483.9 ns491.4 ns1.000.00----
CopyTo<String>List2.22048449.6 ns3.2257 ns2.8595 ns448.7 ns446.6 ns456.8 ns0.920.01----
CopyTo<Int32>ImmutableArray2.12048313.2 ns2.1079 ns1.9718 ns314.2 ns307.8 ns314.5 ns1.000.00----
CopyTo<Int32>ImmutableArray2.22048327.8 ns0.2032 ns0.1901 ns327.9 ns327.5 ns328.1 ns1.050.01----
CopyTo<String>ImmutableArray2.12048522.1 ns3.6749 ns3.0687 ns522.4 ns517.7 ns529.6 ns1.000.00----
CopyTo<String>ImmutableArray2.22048507.6 ns11.3972 ns12.6679 ns503.9 ns489.9 ns535.5 ns0.980.02----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024 1

I am closing this issue since the process can be now automated with a tool #165

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.Numerics.Tests.Perf_BigInteger

No significant difference. Stable benchmarks

MethodJobToolchain numberString arguments Mean Error StdDev Median Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Ctor_ByteArray2.1.NET Core 2.1-2147483648?22.02 ns0.2293 ns0.1790 ns21.95 ns21.81 ns22.40 ns1.000.00----
Ctor_ByteArray2.22.2-2147483648?21.31 ns0.1721 ns0.1437 ns21.24 ns21.20 ns21.61 ns0.970.01----
ToByteArray2.1.NET Core 2.1-2147483648?24.02 ns0.5248 ns0.4909 ns23.74 ns23.62 ns24.93 ns1.000.000.0050--32 B
ToByteArray2.22.2-2147483648?22.94 ns0.5125 ns0.5696 ns22.60 ns22.49 ns24.44 ns0.960.020.0050--32 B
Parse2.1.NET Core 2.1-2147483648?615.82 ns11.9008 ns12.7337 ns625.65 ns597.83 ns631.21 ns1.000.000.0201--136 B
Parse2.22.2-2147483648?600.11 ns14.7337 ns16.3765 ns600.50 ns583.13 ns636.44 ns0.970.030.0196--136 B
Add2.1.NET Core 2.1?1024,1024 bits110.80 ns2.1149 ns1.9783 ns110.15 ns109.05 ns116.31 ns1.000.000.0506--320 B
Add2.22.2?1024,1024 bits107.43 ns2.5473 ns2.8313 ns105.79 ns105.19 ns115.54 ns0.970.030.0504--320 B
Subtract2.1.NET Core 2.1?1024,1024 bits103.58 ns2.3837 ns2.6495 ns105.09 ns100.55 ns108.04 ns1.000.000.0482--304 B
Subtract2.22.2?1024,1024 bits104.62 ns2.7237 ns3.0274 ns103.39 ns101.95 ns112.17 ns1.010.030.0481--304 B
Multiply2.1.NET Core 2.1?1024,1024 bits1,351.25 ns37.7870 ns37.1119 ns1,337.04 ns1,332.63 ns1,477.50 ns1.000.000.0838--560 B
Multiply2.22.2?1024,1024 bits1,364.66 ns30.0748 ns32.1797 ns1,344.93 ns1,334.24 ns1,423.05 ns1.010.030.0841--560 B
GreatestCommonDivisor2.1.NET Core 2.1?1024,1024 bits9,368.01 ns182.5096 ns187.4239 ns9,260.94 ns9,180.05 ns9,606.13 ns1.000.000.0383--304 B
GreatestCommonDivisor2.22.2?1024,1024 bits9,436.98 ns238.2334 ns264.7958 ns9,552.35 ns9,107.63 ns10,158.05 ns1.010.030.0381--304 B
ModPow2.1.NET Core 2.1?1024,1024,64 bits173,337.83 ns4,412.3157 ns4,904.2772 ns171,085.65 ns168,621.23 ns186,325.48 ns1.000.00---304 B
ModPow2.22.2?1024,1024,64 bits173,744.34 ns2,805.3241 ns2,190.2125 ns174,314.75 ns166,801.87 ns174,642.02 ns0.990.03---304 B
Divide2.1.NET Core 2.1?1024,512 bits629.49 ns4.7966 ns3.7449 ns628.11 ns626.09 ns636.69 ns1.000.000.0527--344 B
Divide2.22.2?1024,512 bits644.62 ns18.2383 ns20.2719 ns637.60 ns628.13 ns703.98 ns1.040.040.0528--344 B
Remainder2.1.NET Core 2.1?1024,512 bits631.33 ns17.9330 ns19.9325 ns624.30 ns615.52 ns681.85 ns1.000.000.0373--240 B
Remainder2.22.2?1024,512 bits626.38 ns13.3669 ns14.8573 ns618.83 ns614.53 ns659.10 ns0.990.020.0361--240 B
Ctor_ByteArray2.1.NET Core 2.1123?16.54 ns0.2980 ns0.2642 ns16.38 ns16.31 ns17.14 ns1.000.00----
Ctor_ByteArray2.22.2123?16.82 ns0.4735 ns0.5067 ns16.54 ns16.46 ns18.37 ns1.020.04----
ToByteArray2.1.NET Core 2.1123?21.31 ns0.6315 ns0.7273 ns20.93 ns20.75 ns22.96 ns1.000.000.0050--32 B
ToByteArray2.22.2123?20.45 ns0.1683 ns0.1314 ns20.39 ns20.31 ns20.68 ns0.950.040.0050--32 B
Parse2.1.NET Core 2.1123?283.21 ns6.6658 ns7.4090 ns281.29 ns275.12 ns305.16 ns1.000.000.0151--104 B
Parse2.22.2123?288.79 ns18.4733 ns21.2739 ns280.79 ns270.83 ns331.01 ns1.020.070.0160--104 B
Ctor_ByteArray2.1.NET Core 2.112345(...)67890 [200]?121.47 ns1.3833 ns1.1551 ns120.81 ns120.54 ns123.74 ns1.000.000.0175--112 B
Ctor_ByteArray2.22.212345(...)67890 [200]?123.42 ns2.5863 ns2.8747 ns121.83 ns120.95 ns130.08 ns1.020.030.0175--112 B
ToByteArray2.1.NET Core 2.112345(...)67890 [200]?91.88 ns2.2554 ns2.5974 ns90.61 ns89.69 ns99.36 ns1.000.000.0176--112 B
ToByteArray2.22.212345(...)67890 [200]?92.28 ns2.2690 ns2.6129 ns92.15 ns89.47 ns98.91 ns1.000.030.0176--112 B
Parse2.1.NET Core 2.112345(...)67890 [200]?25,895.47 ns966.8310 ns1,034.4984 ns25,349.09 ns25,110.22 ns28,168.55 ns1.000.008.8987--56584 B
Parse2.22.212345(...)67890 [200]?25,623.75 ns459.1102 ns358.4430 ns25,768.44 ns24,861.58 ns25,849.40 ns0.980.048.9580--56584 B
Add2.1.NET Core 2.1?16,16 bits23.92 ns0.2257 ns0.1885 ns23.83 ns23.75 ns24.33 ns1.000.00----
Add2.22.2?16,16 bits23.48 ns0.2030 ns0.1695 ns23.40 ns23.34 ns23.85 ns0.980.01----
Subtract2.1.NET Core 2.1?16,16 bits24.06 ns0.5171 ns0.5954 ns23.70 ns23.48 ns25.50 ns1.000.00----
Subtract2.22.2?16,16 bits25.09 ns0.6795 ns0.7553 ns24.79 ns24.41 ns27.29 ns1.040.03----
Multiply2.1.NET Core 2.1?16,16 bits23.36 ns0.4858 ns0.4544 ns23.11 ns23.01 ns24.21 ns1.000.00----
Multiply2.22.2?16,16 bits23.12 ns0.4805 ns0.4719 ns22.87 ns22.67 ns23.82 ns0.990.01----
GreatestCommonDivisor2.1.NET Core 2.1?16,16 bits92.13 ns1.9102 ns2.0439 ns93.73 ns89.44 ns94.69 ns1.000.00----
GreatestCommonDivisor2.22.2?16,16 bits92.16 ns1.8339 ns1.8833 ns93.25 ns89.54 ns94.63 ns1.000.02----
ModPow2.1.NET Core 2.1?16,16,16 bits172.30 ns1.3423 ns1.1900 ns171.61 ns171.22 ns174.26 ns1.000.00----
ModPow2.22.2?16,16,16 bits174.73 ns4.3281 ns4.8106 ns172.81 ns170.13 ns188.01 ns1.020.03----
Divide2.1.NET Core 2.1?16,8 bits22.34 ns0.5240 ns0.5607 ns22.10 ns21.87 ns23.79 ns1.000.00----
Divide2.22.2?16,8 bits21.92 ns0.6575 ns0.7035 ns21.55 ns21.46 ns23.89 ns0.980.02----
Remainder2.1.NET Core 2.1?16,8 bits22.00 ns0.4532 ns0.4654 ns21.71 ns21.63 ns22.75 ns1.000.00----
Remainder2.22.2?16,8 bits21.94 ns0.4624 ns0.4748 ns21.63 ns21.53 ns22.64 ns1.000.01----
ModPow2.1.NET Core 2.1?16384,16384,64 bits2,924,625.52 ns47,800.5573 ns37,319.5309 ns2,935,057.55 ns2,806,204.05 ns2,937,812.06 ns1.000.00---2224 B
ModPow2.22.2?16384,16384,64 bits2,846,494.84 ns82,545.8146 ns95,059.8829 ns2,807,734.55 ns2,767,613.63 ns3,073,262.59 ns0.990.03---2224 B
Divide2.1.NET Core 2.1?65536,32768 bits4,592,464.07 ns118,309.5899 ns131,500.7957 ns4,660,335.86 ns4,454,196.99 ns4,950,152.65 ns1.000.00---16472 B
Divide2.22.2?65536,32768 bits4,580,902.02 ns111,246.8568 ns123,650.5866 ns4,520,530.15 ns4,451,200.95 ns4,855,700.70 ns1.000.03---16472 B
Remainder2.1.NET Core 2.1?65536,32768 bits4,565,271.82 ns102,272.9276 ns117,777.6555 ns4,521,226.65 ns4,453,124.73 ns4,842,162.06 ns1.000.00---12336 B
Remainder2.22.2?65536,32768 bits4,598,589.08 ns100,224.6952 ns115,418.9081 ns4,661,895.02 ns4,456,237.26 ns4,885,313.84 ns1.010.03---12336 B
Add2.1.NET Core 2.1?65536,65536 bits2,732.23 ns13.4616 ns11.2410 ns2,730.75 ns2,723.08 ns2,765.87 ns1.000.002.60230.1014-16448 B
Add2.22.2?65536,65536 bits2,767.86 ns74.7230 ns76.7350 ns2,734.99 ns2,713.61 ns3,001.37 ns1.020.032.60930.1012-16448 B
Subtract2.1.NET Core 2.1?65536,65536 bits2,810.13 ns28.0893 ns24.9004 ns2,795.97 ns2,792.07 ns2,868.02 ns1.000.002.60270.1272-16432 B
Subtract2.22.2?65536,65536 bits2,820.28 ns55.9718 ns49.6175 ns2,801.78 ns2,773.69 ns2,893.45 ns1.000.022.60270.1272-16432 B
Multiply2.1.NET Core 2.1?65536,65536 bits1,158,921.39 ns42,893.0131 ns47,675.4704 ns1,153,986.25 ns1,104,590.67 ns1,278,231.14 ns1.000.0024.0385--169928 B
Multiply2.22.2?65536,65536 bits1,191,873.38 ns77,074.0708 ns88,758.6145 ns1,145,742.92 ns1,098,165.56 ns1,345,110.57 ns1.030.0824.0385--169928 B
GreatestCommonDivisor2.1.NET Core 2.1?65536,65536 bits5,903,592.69 ns117,697.5805 ns120,866.7497 ns5,902,268.85 ns5,704,323.74 ns6,075,403.99 ns1.000.00---16432 B
GreatestCommonDivisor2.22.2?65536,65536 bits5,998,824.80 ns118,251.5140 ns121,435.5987 ns6,016,905.47 ns5,699,335.62 ns6,157,669.47 ns1.020.02---16432 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

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.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
AddOperatorBenchmark2.1.NET Core 2.11.2438 ns0.0058 ns0.0045 ns1.2425 ns1.2376 ns1.2523 ns1.000.00----
AddOperatorBenchmark2.22.21.2882 ns0.0176 ns0.0165 ns1.2816 ns1.2722 ns1.3180 ns1.040.01----
AddFunctionBenchmark2.1.NET Core 2.11.5011 ns0.0218 ns0.0204 ns1.4915 ns1.4807 ns1.5399 ns1.000.00----
AddFunctionBenchmark2.22.21.4444 ns0.0212 ns0.0198 ns1.4352 ns1.4273 ns1.4909 ns0.960.02----
SubtractOperatorBenchmark2.1.NET Core 2.11.2637 ns0.0317 ns0.0296 ns1.2411 ns1.2351 ns1.3174 ns1.000.00----
SubtractOperatorBenchmark2.22.21.2033 ns0.0227 ns0.0212 ns1.1907 ns1.1852 ns1.2405 ns0.950.03----
SubtractFunctionBenchmark2.1.NET Core 2.11.5547 ns0.0205 ns0.0191 ns1.5469 ns1.5346 ns1.5957 ns1.000.00----
SubtractFunctionBenchmark2.22.21.4632 ns0.0090 ns0.0075 ns1.4617 ns1.4542 ns1.4813 ns0.940.01----
MultiplyOperatorBenchmark2.1.NET Core 2.11.2966 ns0.0209 ns0.0196 ns1.2859 ns1.2786 ns1.3309 ns1.000.00----
MultiplyOperatorBenchmark2.22.21.2196 ns0.0121 ns0.0101 ns1.2169 ns1.2118 ns1.2480 ns0.940.01----
MultiplyFunctionBenchmark2.1.NET Core 2.11.8055 ns0.0072 ns0.0056 ns1.8066 ns1.7970 ns1.8137 ns1.000.00----
MultiplyFunctionBenchmark2.22.21.7699 ns0.0289 ns0.0271 ns1.7551 ns1.7476 ns1.8261 ns0.980.02----
DistanceSquaredBenchmark2.1.NET Core 2.12.3559 ns0.0019 ns0.0017 ns2.3563 ns2.3518 ns2.3583 ns1.000.00----
DistanceSquaredBenchmark2.22.22.2713 ns0.0021 ns0.0018 ns2.2706 ns2.2690 ns2.2745 ns0.960.00----
LengthSquaredBenchmark2.1.NET Core 2.11.7065 ns0.0007 ns0.0006 ns1.7066 ns1.7057 ns1.7077 ns1.000.00----
LengthSquaredBenchmark2.22.21.8270 ns0.0048 ns0.0045 ns1.8274 ns1.8162 ns1.8331 ns1.070.00----
GetHashCodeBenchmark2.1.NET Core 2.12.2467 ns0.0067 ns0.0060 ns2.2466 ns2.2388 ns2.2574 ns1.000.00----
GetHashCodeBenchmark2.22.22.3847 ns0.0234 ns0.0207 ns2.3745 ns2.3613 ns2.4207 ns1.060.01----
DistanceBenchmark2.1.NET Core 2.12.8432 ns0.0032 ns0.0025 ns2.8427 ns2.8379 ns2.8476 ns1.000.00----
DistanceBenchmark2.22.22.5799 ns0.0081 ns0.0072 ns2.5805 ns2.5689 ns2.5897 ns0.910.00----
DotBenchmark2.1.NET Core 2.11.7159 ns0.0021 ns0.0019 ns1.7152 ns1.7135 ns1.7197 ns1.000.00----
DotBenchmark2.22.21.7194 ns0.0019 ns0.0015 ns1.7199 ns1.7171 ns1.7214 ns1.000.00----
LengthBenchmark2.1.NET Core 2.12.0405 ns0.0053 ns0.0047 ns2.0416 ns2.0332 ns2.0486 ns1.000.00----
LengthBenchmark2.22.22.2362 ns0.0025 ns0.0021 ns2.2353 ns2.2331 ns2.2394 ns1.100.00----
SquareRootBenchmark2.1.NET Core 2.10.9623 ns0.0177 ns0.0157 ns0.9599 ns0.9451 ns0.9958 ns1.000.00----
SquareRootBenchmark2.22.21.1983 ns0.0181 ns0.0169 ns1.1893 ns1.1825 ns1.2309 ns1.250.01----
NormalizeBenchmark2.1.NET Core 2.14.1058 ns0.0065 ns0.0055 ns4.1026 ns4.1014 ns4.1186 ns1.000.00----
NormalizeBenchmark2.22.24.0685 ns0.0100 ns0.0084 ns4.0658 ns4.0602 ns4.0862 ns0.990.00----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.Numerics.Tests.Perf_Vector3

No significant difference.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
AddOperatorBenchmark2.1.NET Core 2.11.955 ns0.0243 ns0.0228 ns1.946 ns1.933 ns1.996 ns1.000.00----
AddOperatorBenchmark2.22.22.101 ns0.0069 ns0.0054 ns2.100 ns2.093 ns2.111 ns1.070.01----
AddFunctionBenchmark2.1.NET Core 2.12.080 ns0.0137 ns0.0115 ns2.075 ns2.071 ns2.111 ns1.000.00----
AddFunctionBenchmark2.22.22.223 ns0.0270 ns0.0252 ns2.212 ns2.201 ns2.270 ns1.070.02----
MultiplyOperatorBenchmark2.1.NET Core 2.12.053 ns0.0294 ns0.0275 ns2.041 ns2.027 ns2.108 ns1.000.00----
MultiplyOperatorBenchmark2.22.22.087 ns0.0280 ns0.0262 ns2.073 ns2.061 ns2.137 ns1.020.02----
MultiplyFunctionBenchmark2.1.NET Core 2.12.052 ns0.0205 ns0.0192 ns2.043 ns2.036 ns2.089 ns1.000.00----
MultiplyFunctionBenchmark2.22.22.173 ns0.0298 ns0.0278 ns2.158 ns2.150 ns2.235 ns1.060.00----
SubtractOperatorBenchmark2.1.NET Core 2.12.355 ns0.0398 ns0.0353 ns2.338 ns2.322 ns2.419 ns1.000.00----
SubtractOperatorBenchmark2.22.22.413 ns0.0260 ns0.0230 ns2.402 ns2.389 ns2.448 ns1.030.02----
SubtractFunctionBenchmark2.1.NET Core 2.12.260 ns0.0256 ns0.0227 ns2.250 ns2.240 ns2.311 ns1.000.00----
SubtractFunctionBenchmark2.22.22.388 ns0.0268 ns0.0251 ns2.377 ns2.367 ns2.443 ns1.060.01----
DistanceSquaredBenchmark2.1.NET Core 2.12.221 ns0.0027 ns0.0024 ns2.221 ns2.219 ns2.225 ns1.000.00----
DistanceSquaredBenchmark2.22.22.297 ns0.0022 ns0.0021 ns2.296 ns2.295 ns2.301 ns1.030.00----
LengthSquaredBenchmark2.1.NET Core 2.11.530 ns0.0055 ns0.0051 ns1.531 ns1.520 ns1.539 ns1.000.00----
LengthSquaredBenchmark2.22.21.614 ns0.0013 ns0.0012 ns1.613 ns1.612 ns1.616 ns1.050.00----
GetHashCodeBenchmark2.1.NET Core 2.13.389 ns0.0649 ns0.0507 ns3.385 ns3.336 ns3.484 ns1.000.00----
GetHashCodeBenchmark2.22.23.294 ns0.0441 ns0.0391 ns3.273 ns3.262 ns3.389 ns0.970.02----
SquareRootBenchmark2.1.NET Core 2.11.565 ns0.0204 ns0.0191 ns1.556 ns1.550 ns1.600 ns1.000.00----
SquareRootBenchmark2.22.21.475 ns0.0191 ns0.0178 ns1.467 ns1.457 ns1.510 ns0.940.02----
NormalizeBenchmark2.1.NET Core 2.13.820 ns0.0036 ns0.0033 ns3.820 ns3.816 ns3.827 ns1.000.00----
NormalizeBenchmark2.22.23.894 ns0.0033 ns0.0030 ns3.893 ns3.890 ns3.900 ns1.020.00----
DotBenchmark2.1.NET Core 2.12.190 ns0.0008 ns0.0007 ns2.190 ns2.189 ns2.191 ns1.000.00----
DotBenchmark2.22.22.460 ns0.0022 ns0.0020 ns2.459 ns2.458 ns2.463 ns1.120.00----
DistanceBenchmark2.1.NET Core 2.12.231 ns0.0056 ns0.0047 ns2.230 ns2.227 ns2.243 ns1.000.00----
DistanceBenchmark2.22.22.322 ns0.0028 ns0.0025 ns2.322 ns2.319 ns2.327 ns1.040.00----
LengthBenchmark2.1.NET Core 2.11.739 ns0.0135 ns0.0112 ns1.736 ns1.730 ns1.769 ns1.000.00----
LengthBenchmark2.22.21.898 ns0.0107 ns0.0094 ns1.899 ns1.879 ns1.916 ns1.090.01----
CrossBenchmark2.1.NET Core 2.13.345 ns0.0408 ns0.0382 ns3.328 ns3.311 ns3.449 ns1.000.00----
CrossBenchmark2.22.23.547 ns0.0506 ns0.0474 ns3.540 ns3.485 ns3.634 ns1.060.02----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

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.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
AddOperatorBenchmark2.1.NET Core 2.11.548 ns0.0223 ns0.0208 ns1.541 ns1.529 ns1.585 ns1.000.00----
AddOperatorBenchmark2.22.21.661 ns0.0154 ns0.0136 ns1.656 ns1.650 ns1.691 ns1.080.01----
AddFunctionBenchmark2.1.NET Core 2.11.580 ns0.0301 ns0.0281 ns1.566 ns1.553 ns1.639 ns1.000.00----
AddFunctionBenchmark2.22.21.620 ns0.0071 ns0.0056 ns1.619 ns1.614 ns1.632 ns1.030.01----
SubtractOperatorBenchmark2.1.NET Core 2.11.545 ns0.0184 ns0.0163 ns1.539 ns1.530 ns1.583 ns1.000.00----
SubtractOperatorBenchmark2.22.21.652 ns0.0251 ns0.0235 ns1.641 ns1.634 ns1.693 ns1.070.02----
DistanceSquaredBenchmark2.1.NET Core 2.11.938 ns0.0013 ns0.0012 ns1.938 ns1.935 ns1.940 ns1.000.00----
DistanceSquaredBenchmark2.22.22.020 ns0.0030 ns0.0028 ns2.019 ns2.018 ns2.027 ns1.040.00----
DistanceSquaredJitOptimizeCanaryBenchmark2.1.NET Core 2.11.596 ns0.0021 ns0.0018 ns1.595 ns1.592 ns1.599 ns1.000.00----
DistanceSquaredJitOptimizeCanaryBenchmark2.22.21.894 ns0.0088 ns0.0078 ns1.892 ns1.883 ns1.908 ns1.190.01----
MultiplyOperatorBenchmark2.1.NET Core 2.11.610 ns0.0215 ns0.0201 ns1.604 ns1.588 ns1.651 ns1.000.00----
MultiplyOperatorBenchmark2.22.21.459 ns0.0235 ns0.0219 ns1.451 ns1.440 ns1.503 ns0.910.00----
SubtractFunctionBenchmark2.1.NET Core 2.11.646 ns0.0286 ns0.0223 ns1.637 ns1.630 ns1.688 ns1.000.00----
SubtractFunctionBenchmark2.22.21.425 ns0.0224 ns0.0210 ns1.417 ns1.404 ns1.465 ns0.870.02----
MultiplyFunctionBenchmark2.1.NET Core 2.11.665 ns0.0233 ns0.0218 ns1.655 ns1.643 ns1.708 ns1.000.00----
MultiplyFunctionBenchmark2.22.21.388 ns0.0155 ns0.0138 ns1.383 ns1.372 ns1.419 ns0.830.02----
LengthSquaredBenchmark2.1.NET Core 2.11.742 ns0.0028 ns0.0025 ns1.743 ns1.739 ns1.747 ns1.000.00----
LengthSquaredBenchmark2.22.21.723 ns0.0020 ns0.0019 ns1.722 ns1.721 ns1.727 ns0.990.00----
GetHashCodeBenchmark2.1.NET Core 2.19.695 ns0.2797 ns0.2993 ns9.535 ns9.488 ns10.425 ns1.000.00----
GetHashCodeBenchmark2.22.28.413 ns0.1992 ns0.1956 ns8.316 ns8.288 ns8.809 ns0.870.01----
SquareRootBenchmark2.1.NET Core 2.11.212 ns0.0063 ns0.0049 ns1.212 ns1.205 ns1.221 ns1.000.00----
SquareRootBenchmark2.22.21.329 ns0.0035 ns0.0033 ns1.328 ns1.323 ns1.336 ns1.100.00----
NormalizeBenchmark2.1.NET Core 2.12.739 ns0.0016 ns0.0013 ns2.739 ns2.736 ns2.741 ns1.000.00----
NormalizeBenchmark2.22.22.915 ns0.0020 ns0.0019 ns2.915 ns2.913 ns2.919 ns1.060.00----
DistanceBenchmark2.1.NET Core 2.11.657 ns0.0021 ns0.0019 ns1.657 ns1.654 ns1.661 ns1.000.00----
DistanceBenchmark2.22.21.967 ns0.0052 ns0.0046 ns1.967 ns1.960 ns1.975 ns1.190.00----
LengthBenchmark2.1.NET Core 2.11.683 ns0.0061 ns0.0054 ns1.684 ns1.673 ns1.691 ns1.000.00----
LengthBenchmark2.22.21.541 ns0.0044 ns0.0041 ns1.541 ns1.530 ns1.547 ns0.920.00----
DotBenchmark2.1.NET Core 2.11.467 ns0.0013 ns0.0011 ns1.467 ns1.465 ns1.469 ns1.000.00----
DotBenchmark2.22.21.588 ns0.0072 ns0.0068 ns1.591 ns1.573 ns1.597 ns1.080.00----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.Numerics.Tests.Constructor

No significant difference, however the benchmarks could have been more stable. Used asm diff to verify SpanCastBenchmark_UInt32 results.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
SpanCastBenchmark_Byte2.1.NET Core 2.10.5593 ns0.0064 ns0.0057 ns0.5581 ns0.5526 ns0.5712 ns1.000.00----
SpanCastBenchmark_Byte2.22.20.4766 ns0.0059 ns0.0055 ns0.4741 ns0.4693 ns0.4851 ns0.850.01----
SpanCastBenchmark_SByte2.1.NET Core 2.10.4820 ns0.0072 ns0.0068 ns0.4815 ns0.4724 ns0.4942 ns1.000.00----
SpanCastBenchmark_SByte2.22.20.4806 ns0.0049 ns0.0046 ns0.4793 ns0.4737 ns0.4897 ns1.000.02----
SpanCastBenchmark_UInt162.1.NET Core 2.10.7743 ns0.0054 ns0.0050 ns0.7758 ns0.7655 ns0.7834 ns1.000.00----
SpanCastBenchmark_UInt162.22.20.5373 ns0.0045 ns0.0040 ns0.5371 ns0.5321 ns0.5452 ns0.690.01----
SpanCastBenchmark_Int162.1.NET Core 2.10.7518 ns0.0064 ns0.0056 ns0.7509 ns0.7430 ns0.7655 ns1.000.00----
SpanCastBenchmark_Int162.22.20.5519 ns0.0049 ns0.0046 ns0.5536 ns0.5405 ns0.5568 ns0.730.01----
SpanCastBenchmark_UInt322.1.NET Core 2.14.9417 ns0.0037 ns0.0029 ns4.9422 ns4.9372 ns4.9452 ns1.000.00----
SpanCastBenchmark_UInt322.22.20.5159 ns0.0088 ns0.0078 ns0.5168 ns0.4998 ns0.5271 ns0.100.00----
SpanCastBenchmark_Int322.1.NET Core 2.10.7559 ns0.0033 ns0.0027 ns0.7554 ns0.7517 ns0.7602 ns1.000.00----
SpanCastBenchmark_Int322.22.20.5453 ns0.0033 ns0.0031 ns0.5452 ns0.5410 ns0.5505 ns0.720.00----
SpanCastBenchmark_UInt642.1.NET Core 2.10.7479 ns0.0072 ns0.0060 ns0.7478 ns0.7401 ns0.7642 ns1.000.00----
SpanCastBenchmark_UInt642.22.20.5541 ns0.0061 ns0.0057 ns0.5544 ns0.5411 ns0.5610 ns0.740.01----
SpanCastBenchmark_Int642.1.NET Core 2.10.7920 ns0.0054 ns0.0048 ns0.7919 ns0.7834 ns0.8003 ns1.000.00----
SpanCastBenchmark_Int642.22.20.5287 ns0.0039 ns0.0035 ns0.5288 ns0.5220 ns0.5352 ns0.670.00----
SpanCastBenchmark_Single2.1.NET Core 2.10.7450 ns0.0050 ns0.0047 ns0.7455 ns0.7334 ns0.7542 ns1.000.00----
SpanCastBenchmark_Single2.22.20.5836 ns0.0162 ns0.0135 ns0.5788 ns0.5702 ns0.6149 ns0.780.02----
SpanCastBenchmark_Double2.1.NET Core 2.10.7347 ns0.0059 ns0.0055 ns0.7346 ns0.7239 ns0.7421 ns1.000.00----
SpanCastBenchmark_Double2.22.20.5641 ns0.0418 ns0.0430 ns0.5541 ns0.5191 ns0.6438 ns0.770.06----
ConstructorBenchmark_Byte2.1.NET Core 2.13.4300 ns0.0068 ns0.0053 ns3.4286 ns3.4212 ns3.4381 ns1.000.00----
ConstructorBenchmark_Byte2.22.23.3412 ns0.0320 ns0.0299 ns3.3239 ns3.3121 ns3.3983 ns0.970.01----
ConstructorBenchmark_SByte2.1.NET Core 2.13.0252 ns0.0038 ns0.0032 ns3.0237 ns3.0207 ns3.0316 ns1.000.00----
ConstructorBenchmark_SByte2.22.22.7162 ns0.0457 ns0.0405 ns2.6955 ns2.6799 ns2.7861 ns0.900.01----
ConstructorBenchmark_UInt162.1.NET Core 2.13.3567 ns0.0101 ns0.0084 ns3.3541 ns3.3485 ns3.3766 ns1.000.00----
ConstructorBenchmark_UInt162.22.22.7682 ns0.0199 ns0.0177 ns2.7619 ns2.7478 ns2.8090 ns0.820.01----
ConstructorBenchmark_Int162.1.NET Core 2.13.1098 ns0.0081 ns0.0072 ns3.1095 ns3.1017 ns3.1285 ns1.000.00----
ConstructorBenchmark_Int162.22.23.4473 ns0.0296 ns0.0262 ns3.4385 ns3.4149 ns3.4927 ns1.110.01----
ConstructorBenchmark_UInt322.1.NET Core 2.13.5152 ns0.0634 ns0.0562 ns3.4916 ns3.4794 ns3.6626 ns1.000.00----
ConstructorBenchmark_UInt322.22.22.9650 ns0.0389 ns0.0364 ns2.9442 ns2.9349 ns3.0466 ns0.840.01----
ConstructorBenchmark_Int322.1.NET Core 2.13.0272 ns0.0076 ns0.0071 ns3.0258 ns3.0202 ns3.0423 ns1.000.00----
ConstructorBenchmark_Int322.22.23.0546 ns0.0339 ns0.0317 ns3.0463 ns3.0216 ns3.1140 ns1.010.01----
ConstructorBenchmark_UInt642.1.NET Core 2.13.3830 ns0.0052 ns0.0046 ns3.3827 ns3.3753 ns3.3895 ns1.000.00----
ConstructorBenchmark_UInt642.22.23.0871 ns0.0344 ns0.0322 ns3.0766 ns3.0521 ns3.1469 ns0.910.01----
ConstructorBenchmark_Int642.1.NET Core 2.12.7773 ns0.0058 ns0.0054 ns2.7756 ns2.7714 ns2.7903 ns1.000.00----
ConstructorBenchmark_Int642.22.23.0279 ns0.0387 ns0.0343 ns3.0084 ns2.9957 ns3.0916 ns1.090.01----
ConstructorBenchmark_Single2.1.NET Core 2.12.7707 ns0.0053 ns0.0049 ns2.7692 ns2.7649 ns2.7817 ns1.000.00----
ConstructorBenchmark_Single2.22.22.9805 ns0.0852 ns0.0755 ns2.9575 ns2.9067 ns3.1299 ns1.080.03----
ConstructorBenchmark_Double2.1.NET Core 2.13.3967 ns0.0039 ns0.0034 ns3.3963 ns3.3912 ns3.4043 ns1.000.00----
ConstructorBenchmark_Double2.22.22.8347 ns0.0904 ns0.1005 ns2.7891 ns2.7575 ns3.0482 ns0.840.03----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.Perf_Convert

No significant difference,

MethodJobToolchainbinaryDataSizeformattingOptions value MeanErrorStdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
GetTypeCode2.1.NET Core 2.1???7.047 ns0.2195 ns0.2527 ns6.924 ns6.792 ns7.722 ns1.000.00----
GetTypeCode2.22.2???7.080 ns0.1769 ns0.1738 ns7.016 ns6.905 ns7.545 ns1.000.04----
ChangeType2.1.NET Core 2.1???53.153 ns1.0030 ns0.8376 ns53.140 ns52.170 ns55.393 ns1.000.000.0063--40 B
ChangeType2.22.2???44.952 ns1.0660 ns0.9971 ns44.523 ns44.191 ns47.420 ns0.850.010.0063--40 B
ToBase64CharArray2.1.NET Core 2.11024InsertLineBreaks?1,342.502 ns35.1336 ns40.4600 ns1,323.289 ns1,309.019 ns1,435.431 ns1.000.00----
ToBase64CharArray2.22.21024InsertLineBreaks?1,334.098 ns30.2901 ns33.6674 ns1,317.601 ns1,305.111 ns1,421.882 ns0.990.03----
ToBase64CharArray2.1.NET Core 2.11024None?1,089.512 ns24.4473 ns26.1583 ns1,076.320 ns1,071.432 ns1,158.265 ns1.000.00----
ToBase64CharArray2.22.21024None?1,087.882 ns25.3396 ns29.1811 ns1,069.061 ns1,065.568 ns1,151.949 ns1.000.03----
ToDateTime_String2.1.NET Core 2.1??12/12/1999301.023 ns7.1946 ns7.6981 ns302.460 ns292.163 ns322.312 ns1.000.00----
ToDateTime_String2.22.2??12/12/1999279.011 ns8.1334 ns8.7026 ns277.423 ns270.624 ns299.324 ns0.930.02----
ToDateTime_String2.1.NET Core 2.1??12/12(...)59 PM [22]586.440 ns23.9116 ns27.5366 ns579.371 ns553.532 ns648.598 ns1.000.00----
ToDateTime_String2.22.2??12/12(...)59 PM [22]541.930 ns14.6969 ns15.0926 ns540.726 ns521.271 ns582.114 ns0.920.04----
ToDateTime_String2.1.NET Core 2.1??February 26, 2009564.051 ns5.8720 ns5.4927 ns565.677 ns551.994 ns571.219 ns1.000.00----
ToDateTime_String2.22.2??February 26, 2009543.059 ns11.5495 ns12.3579 ns538.518 ns522.970 ns570.327 ns0.960.02----
ToDateTime_String2.1.NET Core 2.1??Fri, (...)1 GMT [29]2,440.601 ns78.7827 ns77.3751 ns2,410.354 ns2,371.682 ns2,623.339 ns1.000.00----
ToDateTime_String2.22.2??Fri, (...)1 GMT [29]2,342.193 ns38.2354 ns37.5523 ns2,349.190 ns2,283.602 ns2,402.667 ns0.960.03----
ToBase64String2.1.NET Core 2.1?InsertLineBreaks?1,498.361 ns26.1030 ns23.1396 ns1,503.166 ns1,457.291 ns1,542.932 ns1.000.000.4469--2832 B
ToBase64String2.22.2?InsertLineBreaks?1,495.132 ns13.4735 ns10.5193 ns1,500.318 ns1,468.928 ns1,504.640 ns1.000.010.4471--2832 B
ToBase64String2.1.NET Core 2.1?None?1,258.903 ns33.6753 ns37.4300 ns1,244.361 ns1,217.207 ns1,338.403 ns1.000.000.4384--2768 B
ToBase64String2.22.2?None?1,246.868 ns24.3843 ns20.3620 ns1,246.447 ns1,224.474 ns1,302.420 ns0.980.030.4385--2768 B
ToDateTime_String2.1.NET Core 2.1??Thurs(...) 2009 [27]915.056 ns26.9684 ns28.8559 ns905.449 ns876.180 ns978.708 ns1.000.00----
ToDateTime_String2.22.2??Thurs(...) 2009 [27]881.909 ns11.8532 ns9.8979 ns885.902 ns857.353 ns895.153 ns0.960.03----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

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 MethodJobToolchainMaxIterationCountnexpectedSum expectedsizelineLength checksumwidth Mean Error StdDev Median Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
BinaryTrees_5BinaryTrees_5Default.NET Core 2.140???????269,621.7 us35,793.6841 us63,623.2371 us288,153.4 us124,201.4 us354,081.9 us1.000.0037000.000010000.00003000.00001736 B
BinaryTrees_5BinaryTrees_5Default2.240???????296,276.9 us14,448.1983 us25,681.6577 us304,628.6 us241,264.4 us339,032.2 us1.220.5237000.000011000.00002000.00001736 B
SpectralNorm_3SpectralNorm_3Default.NET Core 2.140???????259.7 us5.1134 us5.2510 us259.1 us251.4 us271.5 us1.000.00---5264 B
SpectralNorm_3SpectralNorm_3Default2.240???????343.0 us9.5499 us16.9749 us341.3 us305.5 us385.5 us1.310.07---5315 B
BinaryTrees_2BinaryTrees_22.1.NET Core 2.120???????102,007.0 us1,957.4835 us1,831.0313 us103,298.2 us99,489.6 us103,824.6 us1.000.0037500.00001000.0000500.0000238376384 B
BinaryTrees_2BinaryTrees_22.22.220???????105,126.6 us2,188.4029 us2,341.5666 us103,508.1 us102,649.0 us108,214.5 us1.030.0137500.00001000.0000500.0000238376384 B
Fasta_1Fasta_12.1.NET Core 2.120???????261.6 us0.4988 us0.4666 us261.6 us260.9 us262.6 us1.000.0066.736217.7268-51924 B
Fasta_1Fasta_12.22.220???????253.4 us0.5401 us0.4788 us253.2 us252.9 us254.3 us0.970.0066.869317.2239-51853 B
Fasta_2Fasta_22.1.NET Core 2.120???????412.2 us12.1897 us14.0377 us403.9 us402.7 us448.6 us1.000.00---904 B
Fasta_2Fasta_22.22.220???????418.1 us7.2713 us5.6769 us420.4 us402.8 us421.1 us1.000.03---904 B
KNucleotide_1KNucleotide_12.1.NET Core 2.120???????339,719.0 us6,732.2197 us6,913.4939 us345,166.5 us331,200.9 us346,213.1 us1.000.003000.00002000.00002000.000027365064 B
KNucleotide_1KNucleotide_12.22.220???????341,268.1 us8,084.9252 us8,986.3729 us345,851.0 us331,641.1 us363,232.6 us1.010.013000.00002000.00002000.000027365064 B
KNucleotide_9KNucleotide_92.1.NET Core 2.120???????72,658.7 us4,121.6388 us4,581.1907 us72,729.9 us64,488.0 us81,355.2 us1.000.002250.00001500.00001250.00008394272 B
KNucleotide_9KNucleotide_92.22.220???????76,147.1 us5,652.1891 us6,509.0694 us73,707.1 us68,906.8 us90,827.3 us1.050.102250.00001500.00001000.00008394272 B
NBody_3NBody_32.1.NET Core 2.120???????450,395.2 us4,854.7449 us4,303.6049 us449,371.9 us444,891.5 us456,450.1 us1.000.00---880 B
NBody_3NBody_32.22.220???????439,872.3 us8,992.5652 us9,995.2124 us434,004.2 us433,215.9 us460,252.0 us0.980.02---880 B
RegexRedux_1RegexRedux_12.1.NET Core 2.120???????119,992.6 us3,631.8125 us3,885.9987 us119,743.3 us116,320.4 us128,802.1 us1.000.002500.00001000.00001000.000016891760 B
RegexRedux_1RegexRedux_12.22.220???????120,517.4 us3,005.9056 us3,216.2853 us118,837.3 us117,088.2 us127,004.3 us1.000.032500.00001000.00001000.000016891760 B
RegexRedux_5RegexRedux_52.1.NET Core 2.120???????45,178.0 us1,340.6141 us1,376.7120 us44,722.3 us42,679.4 us47,943.8 us1.000.003000.00001750.00001000.00002914656 B
RegexRedux_5RegexRedux_52.22.220???????49,063.4 us2,961.1134 us3,168.3582 us49,392.7 us43,783.5 us55,382.1 us1.090.083166.66672166.66671166.66672915545 B
ReverseComplement_1ReverseComplement_12.1.NET Core 2.120???????677.1 us37.2081 us39.8122 us658.8 us652.2 us786.2 us1.000.0044.642911.9048-288224 B
ReverseComplement_1ReverseComplement_12.22.220???????690.9 us22.5577 us24.1364 us697.3 us661.2 us744.5 us1.020.0643.478313.5870-288224 B
ReverseComplement_6ReverseComplement_62.1.NET Core 2.120???????30,768.6 us570.4889 us533.6357 us31,047.0 us29,251.4 us31,059.2 us1.000.00250.0000250.0000250.00003560 B
ReverseComplement_6ReverseComplement_62.22.220???????30,888.1 us354.3043 us331.4164 us31,034.4 us30,016.5 us31,185.8 us1.000.02250.0000250.0000250.00003560 B
SpectralNorm_1SpectralNorm_12.1.NET Core 2.120???????933.3 us23.7570 us26.4058 us946.4 us904.7 us989.3 us1.000.00---18128 B
SpectralNorm_1SpectralNorm_12.22.220???????932.7 us18.5801 us20.6517 us947.1 us904.3 us953.6 us1.000.02---18128 B
FannkuchRedux_5FannkuchRedux_52.1.NET Core 2.1201038?????24,105.0 us316.5856 us264.3633 us24,071.4 us23,807.9 us24,815.4 us1.000.00---4688 B
FannkuchRedux_5FannkuchRedux_52.22.2201038?????24,150.3 us479.9639 us492.8876 us24,013.4 us23,510.6 us25,030.5 us1.000.02---4688 B
FannkuchRedux_2FannkuchRedux_22.1.NET Core 2.1201073196?????138,763.1 us2,908.4252 us3,232.7069 us136,640.8 us135,632.2 us143,783.3 us1.000.00---224 B
FannkuchRedux_2FannkuchRedux_22.22.2201073196?????139,664.4 us3,294.8845 us3,794.3938 us137,023.5 us136,091.8 us149,033.8 us1.010.02---224 B
PiDigits_3PiDigits_32.1.NET Core 2.1203000?8649423196 :3000????641,023.2 us14,940.4309 us17,205.4224 us631,994.3 us626,226.5 us690,534.8 us1.000.00424000.000056000.0000-2670498024 B
PiDigits_3PiDigits_32.22.2203000?8649423196 :3000????635,939.8 us17,439.8060 us15,459.9337 us628,550.8 us626,907.3 us672,631.1 us0.990.03424000.000056000.0000-2670498024 B
MandelBrot_7MandelBrot_72.1.NET Core 2.120???4000500C7-E6(...)A1-D3 [47]?77,872.1 us985.8895 us922.2016 us78,052.0 us76,438.9 us79,572.3 us1.000.00---2083000 B
MandelBrot_7MandelBrot_72.22.220???4000500C7-E6(...)A1-D3 [47]?79,814.0 us678.0428 us601.0673 us79,639.5 us79,023.3 us80,883.6 us1.020.01---2083032 B
Mandelbrot_2Mandelbrot_22.1.NET Core 2.120?????C7-E6(...)A1-D3 [47]40001,127,292.7 us1,200.9426 us1,002.8414 us1,126,952.7 us1,126,305.8 us1,129,747.3 us1.000.00---2000096 B
Mandelbrot_2Mandelbrot_22.22.220?????C7-E6(...)A1-D3 [47]40001,128,594.4 us1,579.3824 us1,233.0779 us1,128,259.2 us1,127,232.9 us1,131,574.2 us1.000.00---2000096 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

BenchF

No significant difference.

TypeMethodJobToolchain Mean Error StdDev Median Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
AdamsAdams2.12.1408.0 ns1.283 ns1.071 ns407.7 ns406.9 ns410.4 ns1.000.000.0085--64 B
AdamsAdams2.22.2423.0 ns21.885 ns25.202 ns407.0 ns404.6 ns477.3 ns1.060.070.0085--64 B
BenchMk2BenchMk22.12.1170,036,630.1 ns121,331.249 ns113,493.326 ns170,050,657.2 ns169,858,497.3 ns170,237,400.1 ns1.000.00----
BenchMk2BenchMk22.22.2167,562,527.4 ns4,302,168.044 ns4,781,848.382 ns169,597,627.5 ns162,226,557.1 ns179,200,774.6 ns0.990.03----
BenchMrkBenchMrk2.12.1182,293,844.0 ns53,296.341 ns47,245.818 ns182,286,594.2 ns182,177,256.9 ns182,396,216.6 ns1.000.00----
BenchMrkBenchMrk2.22.2171,618,837.1 ns84,479.665 ns70,544.347 ns171,630,701.8 ns171,463,631.0 ns171,699,126.7 ns0.940.00----
BisectBisect2.12.1376,593,504.5 ns7,824,543.074 ns8,696,958.895 ns372,269,562.1 ns367,930,854.4 ns397,473,582.3 ns1.000.00---72 B
BisectBisect2.22.2376,728,493.5 ns7,629,762.128 ns8,480,460.389 ns372,904,488.0 ns367,851,595.6 ns385,559,955.0 ns1.000.02---72 B
DMathDMath2.12.1748,910,001.1 ns2,651,087.879 ns2,069,795.034 ns748,222,093.5 ns746,560,509.3 ns753,394,729.5 ns1.000.00---752 B
DMathDMath2.22.2809,687,989.6 ns629,594.451 ns525,739.881 ns809,661,650.4 ns808,755,876.0 ns810,865,928.3 ns1.080.00---752 B
FFTFFT2.12.1182,015,318.1 ns290,178.192 ns242,311.932 ns181,989,658.7 ns181,647,819.4 ns182,489,445.5 ns1.000.00---320 B
FFTFFT2.22.2181,706,897.0 ns469,983.934 ns416,628.516 ns181,521,946.1 ns181,168,845.2 ns182,566,423.5 ns1.000.00---320 B
InProdInProd2.12.11,405,217,721.8 ns1,200,235.486 ns1,002,250.990 ns1,405,483,570.1 ns1,403,862,755.7 ns1,407,058,197.6 ns1.000.001000.0000--11827272 B
InProdInProd2.22.21,405,786,701.0 ns1,155,511.633 ns964,904.547 ns1,405,680,291.6 ns1,404,206,020.5 ns1,407,893,836.5 ns1.000.001000.0000--11827272 B
InvMtInvMt2.12.12,432,201.1 ns93,660.313 ns107,859.356 ns2,441,514.1 ns2,317,439.3 ns2,739,530.2 ns1.000.008.9286--107592 B
InvMtInvMt2.22.22,315,889.4 ns2,650.172 ns2,349.308 ns2,315,177.9 ns2,312,935.3 ns2,320,215.6 ns0.940.048.9286--107592 B
LLoopsLLoops2.12.1649,355,017.1 ns12,462,320.777 ns12,239,665.364 ns644,005,011.0 ns642,538,722.8 ns675,430,278.5 ns1.000.00---3579816 B
LLoopsLLoops2.22.2643,341,208.2 ns12,558,491.417 ns11,132,775.531 ns638,578,632.7 ns637,843,635.5 ns670,521,933.6 ns0.990.01---3579816 B
LorenzLorenz2.12.1241,380,160.5 ns6,144,774.506 ns6,829,900.582 ns244,835,917.1 ns233,957,501.3 ns257,465,724.8 ns1.000.00----
LorenzLorenz2.22.2242,677,458.3 ns4,635,932.787 ns4,109,633.663 ns244,728,718.2 ns234,061,279.0 ns244,827,934.2 ns1.000.01----
MatInv4MatInv42.12.11,935,323.1 ns1,626.873 ns1,442.180 ns1,934,951.8 ns1,933,626.5 ns1,937,633.5 ns1.000.00---58224 B
MatInv4MatInv42.22.21,905,546.5 ns48,917.918 ns54,372.136 ns1,893,935.7 ns1,853,603.4 ns2,053,819.5 ns0.990.036.9444--58224 B
NewtENewtE2.12.1416,604,566.3 ns9,224,009.991 ns10,622,383.622 ns417,659,065.0 ns405,413,719.7 ns440,289,882.0 ns1.000.00----
NewtENewtE2.22.2412,476,713.0 ns8,345,353.124 ns9,275,837.886 ns404,730,611.2 ns403,108,086.2 ns422,735,478.5 ns0.990.01----
NewtRNewtR2.12.1301,170,934.0 ns5,380,708.510 ns4,493,135.300 ns301,585,518.6 ns289,353,430.5 ns306,665,210.7 ns1.000.00---72 B
NewtRNewtR2.22.2248,124,002.0 ns6,118,186.495 ns6,546,391.004 ns243,765,210.3 ns242,727,005.3 ns263,381,626.1 ns0.830.02---72 B
RegulaRegula2.12.1222,872,056.3 ns135,482.415 ns113,133.952 ns222,881,793.7 ns222,656,561.8 ns223,033,754.0 ns1.000.00---96 B
RegulaRegula2.22.2222,785,571.2 ns96,393.184 ns85,450.047 ns222,806,954.0 ns222,671,672.3 ns222,945,942.1 ns1.000.00---96 B
RomberRomber2.12.1149,587,681.5 ns4,148,599.080 ns4,438,954.536 ns146,593,894.9 ns146,115,063.3 ns161,340,882.5 ns1.000.00---2688 B
RomberRomber2.22.2149,104,688.9 ns3,556,380.688 ns4,095,533.288 ns146,184,985.0 ns145,456,331.2 ns160,080,154.0 ns1.000.03---2688 B
SecantSecant2.12.1152,186,526.1 ns3,726,108.851 ns4,141,560.115 ns149,335,166.7 ns148,746,427.7 ns162,291,988.4 ns1.000.00---72 B
SecantSecant2.22.2152,200,818.8 ns2,965,449.139 ns3,296,088.860 ns151,240,799.7 ns148,749,991.4 ns156,651,069.6 ns1.000.02---72 B
SimpsnSimpsn2.12.1142,655,667.8 ns3,084,573.683 ns3,428,495.476 ns139,993,602.3 ns139,628,241.9 ns147,607,866.1 ns1.000.00----
SimpsnSimpsn2.22.2142,913,596.6 ns3,679,785.103 ns4,090,071.392 ns140,117,194.7 ns139,479,132.7 ns153,145,719.9 ns1.000.01----
SqMtxSqMtx2.12.1507,861,358.7 ns10,666,768.691 ns11,856,085.137 ns499,547,825.6 ns497,907,053.9 ns530,217,283.2 ns1.000.00---29568 B
SqMtxSqMtx2.22.2501,880,353.8 ns9,556,492.271 ns10,225,339.663 ns495,541,691.3 ns494,171,340.5 ns517,772,222.7 ns0.990.01---29568 B
TrapTrap2.12.1142,121,320.0 ns2,716,299.938 ns2,268,233.470 ns143,025,679.9 ns136,646,485.1 ns143,153,976.5 ns1.000.00----
TrapTrap2.22.2140,803,019.5 ns3,811,415.929 ns4,078,172.343 ns141,217,338.5 ns136,742,280.0 ns151,275,582.4 ns1.000.02----
WhetstoWhetsto2.12.1629,588,344.5 ns15,518,615.006 ns17,871,260.119 ns619,193,578.6 ns617,329,285.6 ns675,227,284.7 ns1.000.00---56 B
WhetstoWhetsto2.22.2626,011,530.0 ns11,805,228.676 ns11,594,313.060 ns620,840,622.5 ns619,299,637.1 ns650,031,247.4 ns0.990.03---56 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

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.

TypeMethodJobToolchain Mean Error StdDev Median Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
AckermannAckermann2.12.13.221 us0.2098 us0.2416 us3.067 us3.045 us3.700 us1.000.00----
AckermannAckermann2.22.23.139 us0.0668 us0.0742 us3.084 us3.060 us3.237 us0.980.05----
AddArrayAddArray2.12.124.264 us0.4802 us0.4932 us23.942 us23.859 us24.924 us1.000.0015.22692.4881-96128 B
AddArrayAddArray2.22.225.170 us1.1064 us1.2297 us24.899 us23.849 us28.012 us1.040.0615.22692.4881-96128 B
AddArray2AddArray22.12.112,056.594 us299.6982 us320.6737 us12,052.743 us11,470.636 us12,543.196 us1.000.00----
AddArray2AddArray22.22.212,016.355 us431.1632 us496.5282 us11,945.443 us11,366.656 us13,029.443 us1.000.05----
Array1Array12.12.15,963.773 us196.7696 us210.5413 us6,011.112 us5,744.573 us6,542.073 us1.000.00---4032 B
Array1Array12.22.25,871.156 us149.1452 us165.7745 us5,752.703 us5,733.672 us6,307.705 us0.990.03---4032 B
Array2Array22.12.1535,330.966 us10,064.5204 us10,768.9241 us530,031.253 us528,522.057 us555,601.489 us1.000.00---15088 B
Array2Array22.22.2530,192.284 us13,752.7045 us15,286.0946 us521,969.804 us520,944.571 us576,026.601 us0.990.02---15088 B
BenchEBenchE2.12.1457,571.251 us8,808.9944 us9,425.5254 us452,064.664 us451,317.692 us473,517.005 us1.000.00---368 B
BenchEBenchE2.22.2455,281.029 us8,695.9148 us9,304.5314 us450,620.756 us449,331.945 us474,955.353 us1.000.01---368 B
BubbleSortBubbleSort2.12.19.898 us0.3250 us0.3337 us9.714 us9.630 us10.731 us1.000.000.0405--424 B
BubbleSortBubbleSort2.22.29.739 us0.1932 us0.1984 us9.627 us9.550 us10.013 us0.980.020.0400--424 B
BubbleSort2BubbleSort22.12.132,238.477 us192.8069 us161.0025 us32,227.101 us31,977.595 us32,493.266 us1.000.00---30032 B
BubbleSort2BubbleSort22.22.232,153.180 us1,128.8900 us1,254.7582 us32,472.820 us29,478.620 us33,619.710 us1.010.02---30032 B
CSieveCSieve2.12.14,962.340 us128.0923 us137.0573 us4,951.103 us4,832.079 us5,270.190 us1.000.00---8216 B
CSieveCSieve2.22.24,769.786 us70.0294 us62.0793 us4,793.842 us4,620.817 us4,806.331 us0.950.02---8216 B
EightQueensEightQueens2.12.11.690 us0.0557 us0.0619 us1.649 us1.629 us1.800 us1.000.000.0197--160 B
EightQueensEightQueens2.22.21.897 us0.0580 us0.0668 us1.908 us1.815 us2.067 us1.120.040.0232--160 B
FibFib2.12.1152.002 us5.1423 us5.5022 us148.435 us147.808 us164.834 us1.000.00----
FibFib2.22.2146.246 us5.2582 us5.6263 us146.469 us139.964 us161.748 us0.960.04----
HeapSortHeapSort2.12.1242.110 us5.1033 us5.6723 us238.539 us236.320 us250.130 us1.000.002.9297--22032 B
HeapSortHeapSort2.22.2245.183 us12.5990 us14.0037 us243.419 us232.477 us277.003 us1.010.052.8846--22032 B
IniArrayIniArray2.12.159,073.870 us2,642.5007 us3,043.1077 us58,455.519 us55,853.093 us64,683.181 us1.000.00---56 B
IniArrayIniArray2.22.293,167.765 us2,576.3132 us2,966.8861 us91,306.341 us91,001.458 us101,883.224 us1.580.07---56 B
LogicArrayLogicArray2.12.1316,536.580 us7,443.6422 us8,273.5885 us320,219.325 us306,135.203 us329,609.784 us1.000.00---12264 B
LogicArrayLogicArray2.22.2317,928.531 us10,223.5593 us11,773.4661 us311,742.622 us308,713.110 us345,124.271 us1.000.03---12264 B
MidpointMidpoint2.12.1459,973.352 us659.3622 us550.5973 us459,956.048 us459,201.094 us460,878.074 us1.000.00---104104 B
MidpointMidpoint2.22.2501,652.025 us9,511.0890 us9,767.1882 us495,099.923 us493,160.648 us517,296.670 us1.100.02---104104 B
MulMatrixMulMatrix2.12.1402,053.160 us8,980.9265 us10,342.4483 us396,046.638 us393,058.182 us427,193.360 us1.000.00---75672 B
MulMatrixMulMatrix2.22.2402,034.215 us8,772.8773 us10,102.8586 us394,748.846 us393,226.108 us423,465.344 us1.000.01---75672 B
NDhrystoneNDhrystone2.12.1511,065.501 us11,072.0044 us12,750.5368 us504,867.290 us499,141.553 us547,758.287 us1.000.0097000.0000--616012440 B
NDhrystoneNDhrystone2.22.2542,987.733 us25,222.2020 us29,045.9253 us527,024.835 us520,866.453 us611,744.390 us1.060.0497000.0000--616012440 B
PermutatePermutate2.12.1583,434.486 us11,131.1553 us10,932.2828 us578,518.693 us577,419.618 us605,661.418 us1.000.00----
PermutatePermutate2.22.2575,977.815 us11,749.6925 us12,066.0691 us569,319.822 us568,134.361 us601,516.866 us0.990.01----
PiTest2.12.16,552.779 us136.6925 us151.9333 us6,435.827 us6,419.576 us6,778.337 us1.000.00---1032 B
PiTest2.22.26,542.549 us152.8327 us169.8732 us6,437.531 us6,416.873 us7,011.807 us1.000.02---1032 B
PuzzlePuzzle2.12.1482,008.105 us9,444.8670 us10,105.9019 us476,214.798 us475,232.188 us501,278.405 us1.000.00---7096 B
PuzzlePuzzle2.22.2486,940.001 us9,779.3569 us10,869.7293 us479,627.062 us478,304.751 us503,952.677 us1.010.01---7096 B
QuickSortQuickSort2.12.18.327 us0.2080 us0.2395 us8.160 us8.120 us8.978 us1.000.000.1020--824 B
QuickSortQuickSort2.22.28.328 us0.1992 us0.2131 us8.414 us8.078 us8.884 us1.000.020.1014--824 B
TreeInsertTreeInsert2.12.152.610 us0.1468 us0.1147 us52.598 us52.416 us52.760 us1.000.00----
TreeInsertTreeInsert2.22.253.112 us1.0030 us1.0300 us52.642 us52.400 us55.826 us1.010.02----
TreeSortTreeSort2.12.1397.133 us10.4548 us11.1865 us399.242 us386.776 us428.024 us1.000.0033.653811.2179-220032 B
TreeSortTreeSort2.22.2403.807 us8.3752 us9.3091 us410.001 us392.376 us423.120 us1.020.0233.783811.8243-220032 B
XposMatrixXposMatrix2.12.117.883 us0.3505 us0.3278 us17.696 us17.666 us18.488 us1.000.00----
XposMatrixXposMatrix2.22.216.097 us0.3955 us0.4554 us16.321 us15.586 us17.384 us0.910.03----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

Burgers

No significant difference.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Burgers_02.1.NET Core 2.1277.8 ms6.4020 ms6.8500 ms274.0 ms270.5 ms290.1 ms1.000.00126000.0000--781640.66 KB
Burgers_02.22.2282.9 ms4.0762 ms3.4038 ms283.3 ms271.7 ms284.7 ms1.010.02126000.0000--781640.66 KB
Burgers_12.1.NET Core 2.1209.2 ms4.6100 ms5.1240 ms212.1 ms202.7 ms220.4 ms1.000.00---156.31 KB
Burgers_12.22.2212.3 ms0.1298 ms0.1214 ms212.2 ms212.1 ms212.5 ms1.010.02---156.31 KB
Burgers_22.1.NET Core 2.1212.2 ms0.1404 ms0.1097 ms212.2 ms212.1 ms212.4 ms1.000.00---156.31 KB
Burgers_22.22.2212.0 ms0.1916 ms0.1698 ms211.9 ms211.8 ms212.3 ms1.000.00---156.31 KB
Burgers_32.1.NET Core 2.1501.5 ms0.5378 ms0.4768 ms501.4 ms500.7 ms502.5 ms1.000.00---156.36 KB
Burgers_32.22.2508.4 ms1.3470 ms1.0517 ms508.0 ms507.6 ms510.9 ms1.010.00---156.36 KB

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

ByteMark

No significant difference.

MethodJobToolchainMeanErrorStdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
BenchNumericSortJagged2.1.NET Core 2.11,156.4 ms3.2487 ms2.7128 ms1,155.2 ms1,153.8 ms1,161.5 ms1.000.0010000.00005000.0000-63437.78 KB
BenchNumericSortJagged2.22.21,120.8 ms0.7205 ms0.5625 ms1,120.9 ms1,119.6 ms1,121.6 ms0.970.0010000.00005000.0000-63437.78 KB
BenchNumericSortRectangular2.1.NET Core 2.11,109.8 ms2.3742 ms1.8536 ms1,109.2 ms1,108.0 ms1,114.1 ms1.000.002000.00002000.00002000.000031683.84 KB
BenchNumericSortRectangular2.22.21,123.1 ms0.9125 ms0.7124 ms1,123.2 ms1,121.9 ms1,124.4 ms1.010.002000.00002000.00002000.000031683.84 KB
BenchStringSort2.1.NET Core 2.11,368.1 ms0.9647 ms0.7532 ms1,367.8 ms1,367.2 ms1,369.4 ms1.000.0011000.00005000.0000-70113.21 KB
BenchStringSort2.22.21,382.8 ms2.5521 ms2.1311 ms1,382.1 ms1,380.4 ms1,388.4 ms1.010.0011000.00005000.0000-70113.21 KB
BenchBitOps2.1.NET Core 2.1595.1 ms4.2818 ms3.7957 ms593.5 ms589.1 ms601.6 ms1.000.004166000.00004166000.00004166000.000012804687.55 KB
BenchBitOps2.22.2601.8 ms7.4798 ms6.6307 ms599.0 ms595.9 ms614.4 ms1.010.014166000.00004166000.00004166000.000012804687.55 KB
BenchEmFloat2.1.NET Core 2.13,097.1 ms2.2636 ms2.0066 ms3,096.8 ms3,094.8 ms3,102.1 ms1.000.0016000.00003000.0000-101717.36 KB
BenchEmFloat2.22.23,134.8 ms3.1172 ms2.7634 ms3,133.9 ms3,130.9 ms3,140.9 ms1.010.0016000.00003000.0000-101717.36 KB
BenchEmFloatClass2.1.NET Core 2.1638.4 ms12.5825 ms12.9213 ms631.0 ms629.6 ms672.9 ms1.000.005000.00001000.0000-35216.14 KB
BenchEmFloatClass2.22.2627.9 ms12.2067 ms10.8209 ms623.1 ms621.2 ms652.9 ms0.980.025000.00001000.0000-35216.14 KB
BenchFourier2.1.NET Core 2.1500.9 ms1.0150 ms0.8476 ms500.6 ms499.7 ms502.5 ms1.000.00---482.85 KB
BenchFourier2.22.2501.7 ms0.7168 ms0.5986 ms501.8 ms501.0 ms502.8 ms1.000.00---482.85 KB
BenchAssignJagged2.1.NET Core 2.1959.2 ms3.3527 ms2.6175 ms959.7 ms954.1 ms962.2 ms1.000.00---5576.65 KB
BenchAssignJagged2.22.2909.3 ms0.9754 ms0.7615 ms909.1 ms908.4 ms910.7 ms0.950.00---5576.65 KB
BenchAssignRectangular2.1.NET Core 2.11,281.5 ms3.2570 ms2.8872 ms1,282.3 ms1,276.6 ms1,285.1 ms1.000.00---5213.83 KB
BenchAssignRectangular2.22.21,253.4 ms5.3400 ms4.7338 ms1,251.8 ms1,247.2 ms1,262.4 ms0.980.00---5213.83 KB
BenchIDEAEncryption2.1.NET Core 2.1898.3 ms0.8406 ms0.7019 ms898.0 ms897.3 ms899.5 ms1.000.00---610.2 KB
BenchIDEAEncryption2.22.2893.2 ms2.1630 ms1.8062 ms892.9 ms891.6 ms898.0 ms0.990.00---610.2 KB
BenchNeuralJagged2.1.NET Core 2.1808.1 ms1.2163 ms0.9496 ms808.0 ms807.0 ms810.3 ms1.000.00---881.23 KB
BenchNeuralJagged2.22.2809.6 ms1.4653 ms1.1440 ms809.8 ms807.1 ms810.9 ms1.000.00---881.23 KB
BenchNeural2.1.NET Core 2.1745.1 ms1.2951 ms1.0111 ms745.1 ms743.5 ms747.7 ms1.000.00---1502.09 KB
BenchNeural2.22.2750.0 ms14.4868 ms14.2279 ms743.4 ms742.8 ms779.1 ms1.010.02---1502.09 KB
BenchLUDecomp2.1.NET Core 2.11,179.3 ms23.3300 ms21.8229 ms1,181.1 ms1,150.8 ms1,213.8 ms1.000.0040000.000020000.00006000.0000211160.77 KB
BenchLUDecomp2.22.21,212.5 ms23.3051 ms23.9326 ms1,215.7 ms1,157.3 ms1,242.4 ms1.030.0240000.000020000.00006000.0000211161.48 KB

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

CscBench

No significant difference.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
CompileTest2.1.NET Core 2.1436.8 ms17.059 ms19.645 ms436.5 ms397.2 ms468.6 ms1.000.0033000.00001000.0000-192.96 MB
CompileTest2.22.2452.4 ms15.008 ms17.283 ms448.5 ms423.8 ms489.6 ms1.040.0633000.00001000.0000-192.96 MB
DatflowTest2.1.NET Core 2.1446.4 ms2.295 ms2.034 ms446.4 ms443.9 ms450.7 ms1.000.0018000.0000--110.15 MB
DatflowTest2.22.2429.9 ms8.052 ms7.532 ms426.5 ms425.0 ms445.4 ms0.960.0218000.0000--110.15 MB

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

Devirtualization.EqualityComparer

No significant difference. ValueTupleCompareNoOpt shows difference, but it's gone after a benchmark re-run.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
ValueTupleCompareNoOpt2.1.NET Core 2.14.932 ns0.1251 ns0.1285 ns4.855 ns4.847 ns5.155 ns1.000.00----
ValueTupleCompareNoOpt2.22.26.078 ns0.1979 ns0.2199 ns5.957 ns5.948 ns6.698 ns1.240.02----
ValueTupleCompare2.1.NET Core 2.12.894 ns0.0057 ns0.0051 ns2.893 ns2.887 ns2.904 ns1.000.00----
ValueTupleCompare2.22.22.759 ns0.0069 ns0.0065 ns2.757 ns2.752 ns2.775 ns0.950.00----
ValueTupleCompareCached2.1.NET Core 2.14.320 ns0.0306 ns0.0239 ns4.311 ns4.306 ns4.393 ns1.000.00----
ValueTupleCompareCached2.22.24.452 ns0.0084 ns0.0070 ns4.452 ns4.438 ns4.469 ns1.030.01----
ValueTupleCompareWrapped2.1.NET Core 2.14.986 ns0.1290 ns0.1433 ns4.882 ns4.853 ns5.190 ns1.000.00----
ValueTupleCompareWrapped2.22.24.930 ns0.0665 ns0.0555 ns4.902 ns4.899 ns5.074 ns0.980.03----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

FractalPerf

No significant difference.

MethodToolchainMeanErrorStdDevMedianMinMaxRatioGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
FractalPerf2.1144.8 ms0.3484 ms0.3088 ms144.9 ms144.0 ms145.2 ms1.00----
FractalPerf2.2144.8 ms0.3115 ms0.2761 ms144.9 ms144.2 ms145.0 ms1.00----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

MathTests

No significant difference.

MethodJobToolchainMeanErrorStdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
AbsDoubleBenchmark2.1.NET Core 2.13.952 us0.0669 us0.0522 us3.970 us3.790 us3.972 us1.000.00----
AbsDoubleBenchmark2.22.23.886 us0.0802 us0.0891 us3.960 us3.790 us3.972 us1.000.01----
AcosDoubleBenchmark2.1.NET Core 2.147.993 us0.9953 us1.0221 us47.442 us47.356 us50.125 us1.000.00----
AcosDoubleBenchmark2.22.248.287 us1.2035 us1.2877 us47.494 us47.380 us51.559 us1.010.02----
AsinDoubleBenchmark2.1.NET Core 2.157.902 us0.0353 us0.0330 us57.905 us57.842 us57.952 us1.000.00----
AsinDoubleBenchmark2.22.255.102 us0.1099 us0.0858 us55.106 us54.931 us55.233 us0.950.00----
Atan2DoubleBenchmark2.1.NET Core 2.188.908 us1.6424 us1.4559 us89.490 us85.433 us89.649 us1.000.00----
Atan2DoubleBenchmark2.22.289.738 us0.0866 us0.0723 us89.715 us89.655 us89.924 us1.010.01----
AtanDoubleBenchmark2.1.NET Core 2.137.261 us0.9520 us1.0582 us36.696 us36.603 us40.492 us1.000.00----
AtanDoubleBenchmark2.22.238.331 us1.1524 us1.3271 us37.898 us36.917 us41.242 us1.030.03----
CeilingDoubleBenchmark2.1.NET Core 2.15.211 us0.1308 us0.1506 us5.291 us5.050 us5.630 us1.000.00----
CeilingDoubleBenchmark2.22.25.177 us0.1239 us0.1427 us5.072 us5.053 us5.550 us0.990.03----
CosDoubleBenchmark2.1.NET Core 2.135.429 us0.8877 us1.0223 us35.294 us34.489 us38.162 us1.000.00----
CosDoubleBenchmark2.22.235.814 us1.0544 us1.1720 us36.315 us34.657 us38.529 us1.010.03----
CoshDoubleBenchmark2.1.NET Core 2.156.790 us1.6046 us1.7835 us55.877 us55.727 us61.604 us1.000.00----
CoshDoubleBenchmark2.22.258.204 us0.9637 us0.7524 us58.403 us55.819 us58.496 us1.020.04----
ExpDoubleBenchmark2.1.NET Core 2.131.267 us0.7682 us0.8538 us30.652 us30.542 us33.317 us1.000.00----
ExpDoubleBenchmark2.22.231.010 us0.8200 us0.8774 us30.609 us30.554 us33.639 us0.990.03----
FloorDoubleBenchmark2.1.NET Core 2.15.191 us0.1774 us0.1898 us5.062 us5.052 us5.610 us1.000.00----
FloorDoubleBenchmark2.22.25.220 us0.1495 us0.1721 us5.238 us5.054 us5.609 us1.010.04----
Log10DoubleBenchmark2.1.NET Core 2.133.101 us0.0100 us0.0083 us33.099 us33.092 us33.123 us1.000.00----
Log10DoubleBenchmark2.22.232.156 us0.8057 us0.8621 us31.660 us31.589 us34.037 us0.980.03----
LogDoubleBenchmark2.1.NET Core 2.131.036 us1.0472 us1.1639 us31.104 us29.680 us33.780 us1.000.00----
LogDoubleBenchmark2.22.230.499 us0.9070 us0.9705 us29.891 us29.670 us32.827 us0.980.04----
PowDoubleBenchmark2.1.NET Core 2.1150.596 us3.6691 us4.2253 us152.797 us146.246 us161.567 us1.000.00----
PowDoubleBenchmark2.22.2149.394 us3.9154 us4.3519 us146.793 us146.132 us161.698 us0.990.03----
RoundDoubleBenchmark2.1.NET Core 2.15.058 us0.0063 us0.0053 us5.057 us5.049 us5.068 us1.000.00----
RoundDoubleBenchmark2.22.25.269 us0.0814 us0.0679 us5.293 us5.056 us5.296 us1.040.01----
SinDoubleBenchmark2.1.NET Core 2.131.561 us0.8666 us0.9632 us31.909 us30.462 us33.991 us1.000.00----
SinDoubleBenchmark2.22.231.628 us0.6123 us0.6551 us31.298 us30.954 us32.665 us1.000.03----
SinhDoubleBenchmark2.1.NET Core 2.160.509 us1.2759 us1.4182 us59.352 us59.129 us62.132 us1.000.00----
SinhDoubleBenchmark2.22.260.542 us1.2709 us1.3598 us59.659 us59.453 us63.877 us1.000.02----
SqrtDoubleBenchmark2.1.NET Core 2.19.655 us0.1947 us0.1726 us9.570 us9.549 us10.013 us1.000.00----
SqrtDoubleBenchmark2.22.29.870 us0.1952 us0.2088 us10.015 us9.621 us10.257 us1.030.02----
TanDoubleBenchmark2.1.NET Core 2.135.774 us0.0246 us0.0206 us35.774 us35.739 us35.816 us1.000.00----
TanDoubleBenchmark2.22.234.921 us0.8925 us0.9920 us34.337 us34.157 us37.757 us0.990.03----
TanhDoubleBenchmark2.1.NET Core 2.130.470 us0.6331 us0.7037 us29.993 us29.887 us31.476 us1.000.00----
TanhDoubleBenchmark2.22.232.464 us0.8350 us0.8201 us32.621 us31.283 us34.036 us1.060.03----
AbsSingleBenchmark2.1.NET Core 2.13.894 us0.0779 us0.0833 us3.951 us3.791 us3.971 us1.000.00----
AbsSingleBenchmark2.22.23.881 us0.0905 us0.1006 us3.808 us3.795 us4.127 us1.000.02----
AcosSingleBenchmark2.1.NET Core 2.136.629 us1.1272 us1.2529 us35.800 us35.694 us39.574 us1.000.00----
AcosSingleBenchmark2.22.238.768 us2.1444 us2.4695 us37.439 us35.816 us43.832 us1.060.08----
AsinSingleBenchmark2.1.NET Core 2.138.788 us0.8381 us0.8968 us38.298 us37.910 us39.797 us1.000.00----
AsinSingleBenchmark2.22.239.413 us0.4025 us0.3361 us39.488 us38.302 us39.562 us1.010.02----
Atan2SingleBenchmark2.1.NET Core 2.158.523 us1.6944 us1.8833 us57.468 us57.098 us64.189 us1.000.00----
Atan2SingleBenchmark2.22.258.436 us1.4739 us1.5771 us57.521 us57.121 us62.448 us1.000.03----
AtanSingleBenchmark2.1.NET Core 2.130.159 us0.6917 us0.7688 us29.507 us29.418 us31.503 us1.000.00----
AtanSingleBenchmark2.22.230.005 us0.6156 us0.6843 us30.568 us29.224 us30.714 us1.000.01----
CeilingSingleBenchmark2.1.NET Core 2.15.144 us0.1239 us0.1377 us5.066 us5.049 us5.524 us1.000.00----
CeilingSingleBenchmark2.22.25.156 us0.0988 us0.1098 us5.073 us5.056 us5.297 us1.000.02----
CoshSingleBenchmark2.1.NET Core 2.150.262 us1.6720 us1.9255 us50.575 us48.264 us54.649 us1.000.00----
CoshSingleBenchmark2.22.250.046 us1.3154 us1.3508 us50.655 us48.411 us53.215 us0.990.02----
CosSingleBenchmark2.1.NET Core 2.131.538 us0.8289 us0.9545 us30.816 us30.664 us33.717 us1.000.00----
CosSingleBenchmark2.22.231.307 us0.8886 us0.9876 us30.790 us30.702 us34.083 us0.990.03----
ExpSingleBenchmark2.1.NET Core 2.124.908 us0.3782 us0.2953 us24.988 us23.971 us25.018 us1.000.00----
ExpSingleBenchmark2.22.224.416 us0.5100 us0.5457 us24.099 us24.056 us25.533 us0.990.02----
FloorSingleBenchmark2.1.NET Core 2.15.164 us0.1330 us0.1531 us5.064 us5.056 us5.626 us1.000.00----
FloorSingleBenchmark2.22.25.161 us0.1044 us0.1161 us5.066 us5.058 us5.297 us1.000.02----
Log10SingleBenchmark2.1.NET Core 2.126.843 us0.0282 us0.0220 us26.836 us26.824 us26.888 us1.000.00----
Log10SingleBenchmark2.22.226.908 us0.2079 us0.1623 us26.851 us26.825 us27.409 us1.000.01----
LogSingleBenchmark2.1.NET Core 2.125.819 us0.6508 us0.7233 us25.306 us25.231 us27.633 us1.000.00----
LogSingleBenchmark2.22.225.660 us0.4979 us0.5535 us25.311 us25.243 us26.491 us0.990.02----
PowSingleBenchmark2.1.NET Core 2.156.071 us2.0630 us2.1185 us56.453 us53.851 us62.060 us1.000.00----
PowSingleBenchmark2.22.256.708 us1.7692 us1.8930 us56.530 us53.975 us60.198 us1.020.05----
RoundSingleBenchmark2.1.NET Core 2.15.193 us0.1368 us0.1521 us5.093 us5.056 us5.604 us1.000.00----
RoundSingleBenchmark2.22.25.267 us0.2160 us0.2311 us5.200 us5.064 us5.814 us1.010.03----
SinhSingleBenchmark2.1.NET Core 2.152.348 us0.0777 us0.0649 us52.370 us52.184 us52.456 us1.000.00----
SinhSingleBenchmark2.22.252.077 us2.2186 us2.3738 us52.279 us49.854 us58.360 us1.000.05----
SinSingleBenchmark2.1.NET Core 2.128.914 us0.7597 us0.8444 us29.271 us28.078 us31.043 us1.000.00----
SinSingleBenchmark2.22.229.425 us0.8440 us0.9031 us29.056 us28.126 us31.707 us1.020.03----
SqrtSingleBenchmark2.1.NET Core 2.15.195 us0.0069 us0.0062 us5.194 us5.185 us5.207 us1.000.00----
SqrtSingleBenchmark2.22.25.302 us0.1422 us0.1581 us5.192 us5.178 us5.692 us1.030.03----
TanhSingleBenchmark2.1.NET Core 2.131.483 us0.6422 us0.7138 us31.080 us30.758 us32.488 us1.000.00----
TanhSingleBenchmark2.22.231.218 us0.8942 us0.7467 us30.933 us30.890 us33.323 us0.980.03----
TanSingleBenchmark2.1.NET Core 2.125.534 us0.6165 us0.7100 us25.125 us25.030 us27.644 us1.000.00----
TanSingleBenchmark2.22.227.892 us0.5628 us0.5779 us28.285 us27.012 us28.473 us1.090.03----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

Inlining

No significant difference.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
WithFormat2.1.NET Core 2.11.099 ns0.0098 ns0.0092 ns1.097 ns1.088 ns1.119 ns1.00----
WithFormat2.22.21.174 ns0.0096 ns0.0090 ns1.175 ns1.162 ns1.196 ns1.07----
WithoutFormat2.1.NET Core 2.11.103 ns0.0142 ns0.0126 ns1.097 ns1.089 ns1.131 ns1.00----
WithoutFormat2.22.21.209 ns0.0107 ns0.0089 ns1.207 ns1.196 ns1.223 ns1.10----
MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
NoThrowInline2.1.NET Core 2.11.816 ns0.0050 ns0.0039 ns1.815 ns1.810 ns1.822 ns1.00----
NoThrowInline2.22.21.828 ns0.0176 ns0.0164 ns1.822 ns1.812 ns1.868 ns1.01----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

Layout.SearchLoops

No significant difference.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
LoopReturn2.1.NET Core 2.154.30 ns1.615 ns1.349 ns53.78 ns53.56 ns58.17 ns1.000.00----
LoopReturn2.22.254.10 ns1.670 ns1.787 ns53.02 ns52.81 ns58.57 ns1.010.03----
LoopGoto2.1.NET Core 2.154.78 ns1.095 ns1.076 ns54.16 ns53.97 ns56.62 ns1.000.00----
LoopGoto2.22.254.22 ns1.690 ns1.735 ns53.63 ns53.43 ns59.29 ns0.990.03----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

LINQ

No significant difference.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Where00LinqQueryX2.1.NET Core 2.1882.5 ms3.4910 ms2.9151 ms881.6 ms880.2 ms891.0 ms1.000.0011000.0000--72000000 B
Where00LinqQueryX2.22.2900.6 ms2.6139 ms2.1828 ms899.6 ms898.2 ms906.3 ms1.020.0011000.0000--72000000 B
Where00LinqMethodX2.1.NET Core 2.1882.0 ms1.8391 ms1.5358 ms881.5 ms880.7 ms886.0 ms1.000.0011000.0000--72000000 B
Where00LinqMethodX2.22.2900.3 ms1.3432 ms1.0486 ms899.9 ms899.0 ms901.8 ms1.020.0011000.0000--72000000 B
Where00ForX2.1.NET Core 2.1444.8 ms10.0186 ms11.5375 ms437.8 ms434.0 ms471.6 ms1.000.0028000.0000--184000000 B
Where00ForX2.22.2450.8 ms10.0178 ms11.1348 ms443.2 ms441.9 ms469.9 ms1.010.0228000.0000--184000000 B
Where01LinqQueryX2.1.NET Core 2.1469.5 ms12.5518 ms14.4547 ms461.5 ms459.4 ms506.0 ms1.000.002000.0000--18000000 B
Where01LinqQueryX2.22.2467.6 ms12.4485 ms14.3357 ms459.8 ms457.3 ms510.1 ms1.000.022000.0000--18000000 B
Where01LinqMethodX2.1.NET Core 2.1476.6 ms10.3495 ms11.9185 ms468.5 ms466.0 ms499.5 ms1.000.002000.0000--18000000 B
Where01LinqMethodX2.22.2468.1 ms9.0388 ms9.2821 ms461.6 ms459.1 ms480.6 ms0.980.022000.0000--18000000 B
Where01LinqMethodNestedX2.1.NET Core 2.1547.8 ms11.0215 ms10.8246 ms542.9 ms541.1 ms570.8 ms1.000.009000.0000--60000000 B
Where01LinqMethodNestedX2.22.2543.3 ms13.5554 ms15.0668 ms535.7 ms533.3 ms577.4 ms0.990.029000.0000--60000000 B
Where01ForX2.1.NET Core 2.1393.8 ms8.0174 ms8.9113 ms387.3 ms386.0 ms405.4 ms1.000.003000.0000--24000000 B
Where01ForX2.22.2391.6 ms9.7869 ms11.2706 ms384.4 ms383.6 ms421.6 ms1.000.013000.0000--24000000 B
Count00LinqMethodX2.1.NET Core 2.1962.0 ms0.7680 ms0.5996 ms961.8 ms961.2 ms963.5 ms1.000.006000.0000--40000000 B
Count00LinqMethodX2.22.2946.8 ms1.3625 ms1.0637 ms946.6 ms945.7 ms949.6 ms0.980.006000.0000--40000000 B
Count00ForX2.1.NET Core 2.1335.6 ms7.6516 ms8.8116 ms340.8 ms325.2 ms352.8 ms1.000.00----
Count00ForX2.22.2351.4 ms9.0194 ms10.0251 ms357.8 ms341.5 ms375.6 ms1.050.02----
Order00LinqQueryX2.1.NET Core 2.1138.9 ms0.2385 ms0.2114 ms139.0 ms138.4 ms139.2 ms1.000.009000.0000--58600000 B
Order00LinqQueryX2.22.2141.8 ms0.1379 ms0.1151 ms141.8 ms141.7 ms142.0 ms1.020.009000.0000--58600000 B
Order00LinqMethodX2.1.NET Core 2.1138.3 ms0.1863 ms0.1652 ms138.3 ms138.1 ms138.6 ms1.000.009000.0000--58600000 B
Order00LinqMethodX2.22.2141.4 ms0.1844 ms0.1635 ms141.3 ms141.1 ms141.7 ms1.020.009000.0000--58600000 B
Order00ManualX2.1.NET Core 2.1206.2 ms6.1464 ms6.5765 ms208.6 ms199.6 ms223.4 ms1.000.002000.0000--16000000 B
Order00ManualX2.22.2219.4 ms14.2339 ms16.3918 ms213.5 ms202.9 ms251.0 ms1.070.092000.0000--16000000 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

Serializers.Binary

No significant difference.

Type MethodJobToolchain Mean Error StdDev Median Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Binary_FromStream<CollectionsOfPrimitives>BinaryFormatter2.12.11,425,863.2 ns6,173.3145 ns4,819.7179 ns1,424,280.1 ns1,422,335.4 ns1,439,874.2 ns1.000.00102.272745.4545-655203 B
Binary_FromStream<CollectionsOfPrimitives>BinaryFormatter2.22.21,416,422.8 ns40,527.6579 ns43,364.1399 ns1,432,785.4 ns1,367,104.7 ns1,518,591.9 ns1.010.02102.272745.4545-655203 B
Binary_FromStream<IndexViewModel>BinaryFormatter2.12.130,207.0 ns720.8189 ns801.1883 ns29,888.8 ns29,135.4 ns31,805.3 ns1.000.003.45900.1193-22059 B
Binary_FromStream<IndexViewModel>BinaryFormatter2.22.230,616.3 ns764.9281 ns880.8923 ns30,090.8 ns29,974.9 ns32,950.8 ns1.020.033.38860.1255-22059 B
Binary_FromStream<Location>BinaryFormatter2.12.15,621.3 ns11.7181 ns9.1487 ns5,620.2 ns5,607.6 ns5,637.1 ns1.000.001.0277--6608 B
Binary_FromStream<Location>BinaryFormatter2.22.25,909.8 ns149.6696 ns172.3597 ns5,807.2 ns5,774.8 ns6,374.3 ns1.060.031.0202--6608 B
Binary_FromStream<LoginViewModel>BinaryFormatter2.12.13,033.4 ns120.6399 ns134.0910 ns3,032.7 ns2,900.7 ns3,371.0 ns1.000.000.7542--4840 B
Binary_FromStream<LoginViewModel>BinaryFormatter2.22.23,235.6 ns78.7541 ns84.2660 ns3,180.8 ns3,166.5 ns3,421.1 ns1.070.040.7648--4840 B
Binary_FromStream<MyEventsListerViewModel>BinaryFormatter2.12.186,128.7 ns2,410.5283 ns2,475.4351 ns84,956.8 ns84,710.8 ns93,630.8 ns1.000.008.82770.3531-56382 B
Binary_FromStream<MyEventsListerViewModel>BinaryFormatter2.22.289,609.1 ns4,602.9496 ns5,300.7637 ns88,982.3 ns84,722.1 ns103,074.6 ns1.050.068.83150.6793-56384 B
Binary_ToStream<CollectionsOfPrimitives>BinaryFormatter2.12.11,399,231.2 ns47,241.9125 ns52,509.2606 ns1,408,726.9 ns1,341,510.5 ns1,506,057.4 ns1.000.0073.863617.0455-491944 B
Binary_ToStream<CollectionsOfPrimitives>BinaryFormatter2.22.21,415,761.1 ns37,583.2251 ns43,280.8979 ns1,388,563.3 ns1,383,420.9 ns1,543,190.7 ns1.010.0473.863617.0455-491944 B
Binary_ToStream<IndexViewModel>BinaryFormatter2.12.119,390.8 ns739.0299 ns790.7537 ns19,466.8 ns18,619.0 ns21,405.2 ns1.000.001.6427--10721 B
Binary_ToStream<IndexViewModel>BinaryFormatter2.22.219,235.0 ns647.8844 ns720.1218 ns19,200.4 ns18,535.0 ns20,818.9 ns0.990.031.6325--10721 B
Binary_ToStream<Location>BinaryFormatter2.12.15,500.0 ns130.5292 ns145.0828 ns5,426.8 ns5,374.6 ns5,923.3 ns1.000.000.6747--4344 B
Binary_ToStream<Location>BinaryFormatter2.22.25,374.6 ns101.2622 ns99.4530 ns5,330.8 ns5,315.0 ns5,584.0 ns0.970.020.6677--4344 B
Binary_ToStream<LoginViewModel>BinaryFormatter2.12.12,962.1 ns100.4534 ns115.6823 ns2,931.8 ns2,851.9 ns3,229.1 ns1.000.000.5594--3560 B
Binary_ToStream<LoginViewModel>BinaryFormatter2.22.23,007.6 ns79.5708 ns88.4427 ns2,957.5 ns2,933.0 ns3,271.7 ns1.020.020.5514--3560 B
Binary_ToStream<MyEventsListerViewModel>BinaryFormatter2.12.154,530.2 ns1,219.6144 ns1,252.4542 ns54,065.9 ns53,183.8 ns56,137.6 ns1.000.003.7811--25474 B
Binary_ToStream<MyEventsListerViewModel>BinaryFormatter2.22.254,238.3 ns1,731.9337 ns1,853.1497 ns53,158.4 ns52,936.3 ns59,027.4 ns1.000.033.7946--25474 B
Binary_FromStream<CollectionsOfPrimitives>protobuf-net2.12.1299,226.0 ns7,969.2191 ns8,526.9751 ns295,276.7 ns294,596.3 ns326,872.6 ns1.000.0042.027216.0692-271744 B
Binary_FromStream<CollectionsOfPrimitives>protobuf-net2.22.2303,864.1 ns8,386.4429 ns8,973.3999 ns297,803.3 ns294,693.0 ns318,936.6 ns1.020.0341.666715.9314-271744 B
Binary_FromStream<IndexViewModel>protobuf-net2.12.182,075.9 ns2,476.9031 ns2,543.5971 ns82,770.9 ns78,136.2 ns87,590.3 ns1.000.005.7990--37032 B
Binary_FromStream<IndexViewModel>protobuf-net2.22.279,906.7 ns2,031.3865 ns2,339.3477 ns80,832.8 ns77,006.8 ns86,416.5 ns0.980.045.5052--37032 B
Binary_FromStream<Location>protobuf-net2.12.11,465.2 ns56.6539 ns60.6191 ns1,425.2 ns1,415.2 ns1,621.1 ns1.000.000.2315--1480 B
Binary_FromStream<Location>protobuf-net2.22.21,499.3 ns50.5192 ns56.1520 ns1,486.6 ns1,444.3 ns1,629.9 ns1.030.030.2307--1480 B
Binary_FromStream<LoginViewModel>protobuf-net2.12.1696.9 ns18.2753 ns20.3130 ns687.5 ns683.3 ns758.2 ns1.000.000.0609--392 B
Binary_FromStream<LoginViewModel>protobuf-net2.22.2701.7 ns23.2835 ns25.8795 ns685.0 ns682.1 ns761.1 ns1.010.030.0604--392 B
Binary_FromStream<MyEventsListerViewModel>protobuf-net2.12.11,123,721.0 ns31,428.2964 ns36,192.8728 ns1,134,945.9 ns1,080,578.3 ns1,210,556.3 ns1.000.0049.10714.4643-318840 B
Binary_FromStream<MyEventsListerViewModel>protobuf-net2.22.21,081,971.1 ns31,962.1323 ns35,525.8253 ns1,055,363.7 ns1,050,791.4 ns1,167,266.9 ns0.960.0345.83334.1667-318840 B
Binary_ToStream<CollectionsOfPrimitives>protobuf-net2.12.1173,250.3 ns4,190.3551 ns4,657.5685 ns176,406.5 ns167,986.4 ns181,435.1 ns1.000.00---152 B
Binary_ToStream<CollectionsOfPrimitives>protobuf-net2.22.2176,768.7 ns4,763.9612 ns5,295.1303 ns173,188.6 ns172,127.5 ns188,388.8 ns1.020.02---152 B
Binary_ToStream<IndexViewModel>protobuf-net2.12.131,427.6 ns582.7238 ns545.0802 ns31,214.2 ns31,079.9 ns32,689.1 ns1.000.001.6940--11504 B
Binary_ToStream<IndexViewModel>protobuf-net2.22.231,320.3 ns159.5366 ns124.5557 ns31,283.2 ns31,225.7 ns31,687.4 ns0.990.021.7011--11504 B
Binary_ToStream<Location>protobuf-net2.12.1616.3 ns20.1308 ns22.3754 ns601.2 ns590.6 ns670.1 ns1.000.000.0229--152 B
Binary_ToStream<Location>protobuf-net2.22.2600.3 ns14.9978 ns16.0474 ns588.9 ns586.9 ns627.8 ns0.970.030.0236--152 B
Binary_ToStream<LoginViewModel>protobuf-net2.12.1300.1 ns7.8068 ns8.9903 ns294.0 ns292.6 ns326.1 ns1.000.000.0233--152 B
Binary_ToStream<LoginViewModel>protobuf-net2.22.2294.8 ns8.4435 ns9.0344 ns289.6 ns288.9 ns320.0 ns0.980.030.0231--152 B
Binary_ToStream<MyEventsListerViewModel>protobuf-net2.12.1427,143.9 ns14,126.2075 ns15,114.8837 ns417,924.4 ns416,741.3 ns463,059.2 ns1.000.0026.2238--169264 B
Binary_ToStream<MyEventsListerViewModel>protobuf-net2.22.2422,986.7 ns12,319.2981 ns13,692.8672 ns427,538.9 ns408,050.4 ns449,814.0 ns0.990.0424.8566--169264 B
Binary_FromStream<CollectionsOfPrimitives>ZeroFormatter_Naive2.12.1194.0 ns12.4069 ns14.2878 ns184.9 ns183.6 ns222.6 ns1.000.000.0759--480 B
Binary_FromStream<CollectionsOfPrimitives>ZeroFormatter_Naive2.22.2184.7 ns3.7194 ns3.6530 ns182.7 ns182.3 ns191.1 ns0.940.060.0756--480 B
Binary_FromStream<IndexViewModel>ZeroFormatter_Naive2.12.1311.6 ns6.0032 ns6.4234 ns308.4 ns307.1 ns324.6 ns1.000.000.1261--800 B
Binary_FromStream<IndexViewModel>ZeroFormatter_Naive2.22.2321.2 ns11.0643 ns11.3622 ns316.5 ns316.0 ns359.0 ns1.030.030.1261--800 B
Binary_FromStream<Location>ZeroFormatter_Naive2.12.1285.8 ns7.0406 ns8.1079 ns280.1 ns277.8 ns304.3 ns1.000.000.1296--824 B
Binary_FromStream<Location>ZeroFormatter_Naive2.22.2287.3 ns4.8687 ns3.8012 ns285.7 ns284.9 ns297.3 ns0.990.030.1296--824 B
Binary_FromStream<LoginViewModel>ZeroFormatter_Naive2.12.1129.9 ns2.5876 ns2.6573 ns128.4 ns127.8 ns133.9 ns1.000.000.0514--328 B
Binary_FromStream<LoginViewModel>ZeroFormatter_Naive2.22.2131.6 ns3.2647 ns3.4932 ns129.6 ns128.3 ns140.2 ns1.010.020.0517--328 B
Binary_FromStream<MyEventsListerViewModel>ZeroFormatter_Naive2.12.1180.5 ns0.8852 ns0.6911 ns180.8 ns179.3 ns181.6 ns1.000.000.0821--520 B
Binary_FromStream<MyEventsListerViewModel>ZeroFormatter_Naive2.22.2182.2 ns6.1942 ns6.6278 ns178.0 ns177.2 ns199.4 ns1.020.040.0823--520 B
Binary_ToStream<CollectionsOfPrimitives>ZeroFormatter2.12.1203,109.6 ns4,910.6410 ns5,254.3308 ns200,329.6 ns199,893.4 ns218,687.9 ns1.000.0018.83240.9416-123256 B
Binary_ToStream<CollectionsOfPrimitives>ZeroFormatter2.22.2209,270.6 ns5,690.2642 ns6,324.7135 ns212,700.4 ns203,379.8 ns226,744.5 ns1.030.0318.65990.8482-123256 B
Binary_ToStream<IndexViewModel>ZeroFormatter2.12.111,989.2 ns245.1441 ns262.3015 ns11,835.9 ns11,816.3 ns12,637.9 ns1.000.007.03880.0984-44632 B
Binary_ToStream<IndexViewModel>ZeroFormatter2.22.211,718.8 ns257.1587 ns275.1569 ns11,611.0 ns11,456.2 ns12,357.3 ns0.980.027.06690.0556-44632 B
Binary_ToStream<Location>ZeroFormatter2.12.1446.7 ns0.8908 ns0.7438 ns446.5 ns445.9 ns448.3 ns1.000.000.0806--512 B
Binary_ToStream<Location>ZeroFormatter2.22.2456.6 ns13.9622 ns15.5189 ns445.4 ns443.7 ns488.1 ns1.030.040.0803--512 B
Binary_ToStream<LoginViewModel>ZeroFormatter2.12.1226.1 ns5.6320 ns6.2599 ns222.0 ns220.3 ns242.2 ns1.000.000.0655--416 B
Binary_ToStream<LoginViewModel>ZeroFormatter2.22.2220.9 ns4.2565 ns3.7733 ns219.0 ns218.4 ns228.5 ns0.970.020.0657--416 B
Binary_ToStream<MyEventsListerViewModel>ZeroFormatter2.12.181,915.5 ns1,575.6088 ns1,396.7362 ns82,569.9 ns79,154.6 ns82,846.4 ns1.000.0025.79371.9841-164896 B
Binary_ToStream<MyEventsListerViewModel>ZeroFormatter2.22.278,526.2 ns1,029.0356 ns803.4033 ns78,218.5 ns78,074.9 ns80,964.4 ns0.950.0125.99941.9500-164896 B
Binary_FromStream<CollectionsOfPrimitives>ZeroFormatter_Real2.12.193,824.7 ns93.1326 ns82.5596 ns93,823.1 ns93,726.9 ns93,957.3 ns1.000.0012.10942.3438-77880 B
Binary_FromStream<CollectionsOfPrimitives>ZeroFormatter_Real2.22.294,417.8 ns5,477.7688 ns6,088.5255 ns93,098.0 ns88,965.1 ns107,414.3 ns1.030.0612.04822.2590-77880 B
Binary_FromStream<IndexViewModel>ZeroFormatter_Real2.12.117,468.0 ns378.7675 ns405.2770 ns17,158.0 ns17,076.3 ns18,058.7 ns1.000.005.14290.4286-32664 B
Binary_FromStream<IndexViewModel>ZeroFormatter_Real2.22.217,512.1 ns335.8060 ns359.3086 ns17,567.3 ns17,068.4 ns17,916.5 ns1.000.015.13110.4276-32664 B
Binary_FromStream<Location>ZeroFormatter_Real2.12.1720.3 ns14.2961 ns14.0406 ns712.3 ns709.6 ns744.3 ns1.000.000.1911--1224 B
Binary_FromStream<Location>ZeroFormatter_Real2.22.2705.8 ns24.7252 ns26.4557 ns688.7 ns686.3 ns768.3 ns0.980.040.1918--1224 B
Binary_FromStream<LoginViewModel>ZeroFormatter_Real2.12.1287.6 ns7.2998 ns8.1137 ns282.0 ns280.8 ns309.9 ns1.000.000.0730--464 B
Binary_FromStream<LoginViewModel>ZeroFormatter_Real2.22.2276.7 ns1.4101 ns1.1009 ns276.3 ns275.6 ns279.2 ns0.950.030.0732--464 B
Binary_FromStream<MyEventsListerViewModel>ZeroFormatter_Real2.12.1157,079.6 ns10,231.9083 ns11,783.0809 ns153,545.4 ns145,636.0 ns182,570.4 ns1.000.0026.34807.9657-167176 B
Binary_FromStream<MyEventsListerViewModel>ZeroFormatter_Real2.22.2153,877.9 ns2,627.0345 ns2,051.0157 ns154,519.6 ns147,758.8 ns155,505.7 ns0.950.0626.34807.9657-167176 B
Binary_ToStream<CollectionsOfPrimitives>MessagePack2.12.1194,840.8 ns5,056.2839 ns5,620.0461 ns190,339.5 ns189,910.3 ns208,982.8 ns1.000.00----
Binary_ToStream<CollectionsOfPrimitives>MessagePack2.22.2195,694.7 ns5,064.8008 ns5,832.6321 ns191,953.4 ns191,327.3 ns213,714.1 ns1.010.02----
Binary_ToStream<IndexViewModel>MessagePack2.12.19,844.3 ns241.3384 ns225.7481 ns9,747.3 ns9,723.3 ns10,524.0 ns1.000.00----
Binary_ToStream<IndexViewModel>MessagePack2.22.29,686.7 ns270.1259 ns300.2442 ns9,512.6 ns9,491.1 ns10,509.5 ns0.990.03----
Binary_ToStream<Location>MessagePack2.12.1419.7 ns12.0970 ns13.4458 ns411.4 ns409.4 ns454.6 ns1.000.00----
Binary_ToStream<Location>MessagePack2.22.2403.0 ns10.5026 ns12.0948 ns395.1 ns393.9 ns438.0 ns0.960.02----
Binary_ToStream<LoginViewModel>MessagePack2.12.1151.1 ns3.8444 ns4.4272 ns149.0 ns147.7 ns164.6 ns1.000.00----
Binary_ToStream<LoginViewModel>MessagePack2.22.2161.8 ns4.4314 ns4.9254 ns158.5 ns157.9 ns175.1 ns1.070.03----
Binary_ToStream<MyEventsListerViewModel>MessagePack2.12.178,485.3 ns1,456.8185 ns1,291.4317 ns79,042.0 ns75,499.0 ns79,128.6 ns1.000.00----
Binary_ToStream<MyEventsListerViewModel>MessagePack2.22.277,361.2 ns2,001.1935 ns2,141.2546 ns78,376.9 ns74,866.7 ns82,038.3 ns0.990.02----
Binary_FromStream<CollectionsOfPrimitives>MessagePack2.12.180,734.0 ns407.9747 ns318.5198 ns80,586.1 ns80,436.8 ns81,325.6 ns1.000.0012.09683.0242-77448 B
Binary_FromStream<CollectionsOfPrimitives>MessagePack2.22.284,971.7 ns2,714.1649 ns3,016.7871 ns83,020.7 ns82,652.5 ns92,759.1 ns1.070.0412.08562.7624-77448 B
Binary_FromStream<IndexViewModel>MessagePack2.12.113,543.2 ns333.0532 ns370.1877 ns13,525.5 ns13,167.7 ns14,394.7 ns1.000.003.47220.3858-22208 B
Binary_FromStream<IndexViewModel>MessagePack2.22.213,161.7 ns367.5553 ns393.2800 ns13,173.0 ns12,775.1 ns13,980.2 ns0.970.023.50740.4025-22208 B
Binary_FromStream<Location>MessagePack2.12.1467.9 ns12.2800 ns13.6492 ns459.6 ns457.4 ns507.3 ns1.000.000.0757--488 B
Binary_FromStream<Location>MessagePack2.22.2465.3 ns10.1792 ns11.3142 ns457.7 ns455.1 ns488.4 ns0.990.020.0768--488 B
Binary_FromStream<LoginViewModel>MessagePack2.12.1174.0 ns3.5080 ns3.7536 ns171.4 ns170.9 ns179.2 ns1.000.000.0277--176 B
Binary_FromStream<LoginViewModel>MessagePack2.22.2171.3 ns6.2493 ns6.6867 ns170.9 ns165.0 ns189.5 ns0.980.030.0276--176 B
Binary_FromStream<MyEventsListerViewModel>MessagePack2.12.1103,603.0 ns2,154.1346 ns2,394.3149 ns101,831.4 ns101,348.6 ns106,579.1 ns1.000.0012.24662.9561-78112 B
Binary_FromStream<MyEventsListerViewModel>MessagePack2.22.2104,458.3 ns2,052.9775 ns1,920.3564 ns103,632.3 ns103,262.7 ns108,541.8 ns1.000.0212.06903.0172-78112 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

Serializers.JSON

No significant difference. Some benchmarks shows difference, but it's gone after a benchmark re-run.

Type MethodJobToolchain Mean Error StdDev Median Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Json_FromStream<CollectionsOfPrimitives>Jil2.12.1304,122.0 ns18,676.072 ns21,507.393 ns300,131.3 ns286,541.9 ns346,254.2 ns1.000.0026.37618.0275-175200 B
Json_FromStream<CollectionsOfPrimitives>Jil2.22.2324,218.6 ns7,944.712 ns9,149.142 ns328,886.3 ns314,672.5 ns344,387.9 ns1.070.0526.38527.9156-175200 B
Json_FromStream<IndexViewModel>Jil2.12.162,195.7 ns1,531.515 ns1,702.275 ns63,117.7 ns60,276.1 ns66,136.4 ns1.000.004.31360.5075-27832 B
Json_FromStream<IndexViewModel>Jil2.22.261,651.0 ns1,653.131 ns1,837.451 ns60,571.7 ns60,298.2 ns67,189.6 ns0.990.034.31140.5072-27832 B
Json_FromStream<Location>Jil2.12.11,437.3 ns28.571 ns30.571 ns1,419.7 ns1,407.3 ns1,482.9 ns1.000.000.60540.0059-3856 B
Json_FromStream<Location>Jil2.22.21,418.4 ns27.723 ns24.576 ns1,406.0 ns1,404.0 ns1,469.7 ns0.980.020.60540.0059-3856 B
Json_FromStream<LoginViewModel>Jil2.12.1794.2 ns27.329 ns29.241 ns780.0 ns776.8 ns865.4 ns1.000.000.56160.0032-3544 B
Json_FromStream<LoginViewModel>Jil2.22.2791.6 ns17.269 ns18.478 ns801.2 ns768.8 ns831.6 ns1.000.040.55980.0032-3544 B
Json_FromStream<MyEventsListerViewModel>Jil2.12.1378,810.5 ns6,981.120 ns6,530.144 ns376,121.2 ns375,435.8 ns395,457.2 ns1.000.0012.57863.1447-89208 B
Json_FromStream<MyEventsListerViewModel>Jil2.22.2389,727.3 ns10,317.902 ns11,882.111 ns382,686.6 ns380,134.5 ns420,840.8 ns1.040.0313.00813.2520-89208 B
Json_FromString<CollectionsOfPrimitives>Jil2.12.1238,559.6 ns4,627.122 ns5,143.034 ns235,351.7 ns234,729.6 ns246,169.9 ns1.000.0026.57488.8583-171928 B
Json_FromString<CollectionsOfPrimitives>Jil2.22.2243,192.6 ns6,092.682 ns7,016.342 ns246,506.7 ns235,516.7 ns262,394.2 ns1.020.0326.65358.8845-171928 B
Json_FromString<IndexViewModel>Jil2.12.146,815.2 ns876.673 ns777.148 ns46,494.5 ns45,792.4 ns48,912.0 ns1.000.003.79000.3790-24560 B
Json_FromString<IndexViewModel>Jil2.22.247,328.8 ns1,341.840 ns1,435.754 ns47,757.0 ns45,574.1 ns50,866.6 ns1.010.033.81390.3814-24560 B
Json_FromString<Location>Jil2.12.1862.8 ns23.994 ns26.669 ns875.1 ns836.7 ns930.6 ns1.000.000.0912--584 B
Json_FromString<Location>Jil2.22.2877.4 ns17.426 ns17.115 ns870.0 ns867.9 ns917.8 ns1.010.030.0910--584 B
Json_FromString<LoginViewModel>Jil2.12.1370.3 ns7.407 ns8.233 ns370.0 ns361.3 ns384.9 ns1.000.000.0424--272 B
Json_FromString<LoginViewModel>Jil2.22.2375.9 ns7.507 ns8.344 ns369.7 ns368.3 ns386.9 ns1.020.020.0418--272 B
Json_FromString<MyEventsListerViewModel>Jil2.12.1297,146.2 ns8,399.552 ns9,336.080 ns292,371.8 ns290,475.8 ns324,732.1 ns1.000.0013.22122.4038-85936 B
Json_FromString<MyEventsListerViewModel>Jil2.22.2303,289.5 ns7,686.701 ns8,852.017 ns307,833.3 ns293,407.4 ns322,338.3 ns1.020.0312.15072.4301-85936 B
Json_ToStream<CollectionsOfPrimitives>Jil2.12.1316,424.3 ns5,164.148 ns4,577.883 ns317,605.5 ns308,197.1 ns321,597.0 ns1.000.00---96 B
Json_ToStream<CollectionsOfPrimitives>Jil2.22.2488,696.2 ns259,207.634 ns298,503.897 ns324,590.5 ns310,477.9 ns1,000,999.0 ns1.460.93---96 B
Json_ToStream<IndexViewModel>Jil2.12.153,436.6 ns794.976 ns704.725 ns53,314.4 ns52,174.0 ns54,454.8 ns1.000.00---96 B
Json_ToStream<IndexViewModel>Jil2.22.250,287.9 ns782.775 ns653.653 ns50,178.3 ns49,608.0 ns51,318.7 ns0.940.01---96 B
Json_ToStream<Location>Jil2.12.15,488.2 ns2,940.159 ns3,385.892 ns4,419.1 ns2,280.8 ns14,255.2 ns1.000.00---96 B
Json_ToStream<Location>Jil2.22.23,056.9 ns651.434 ns697.027 ns2,565.9 ns2,280.8 ns4,561.7 ns0.830.50---96 B
Json_ToStream<LoginViewModel>Jil2.12.11,647.3 ns234.002 ns250.380 ns1,568.1 ns1,425.5 ns1,995.7 ns1.000.00----
Json_ToStream<LoginViewModel>Jil2.22.22,971.1 ns994.597 ns1,105.492 ns3,136.1 ns1,425.5 ns4,561.7 ns1.830.75----
Json_ToStream<MyEventsListerViewModel>Jil2.12.1600,102.5 ns5,196.403 ns4,606.476 ns599,715.6 ns593,871.0 ns609,551.7 ns1.000.00---246624 B
Json_ToStream<MyEventsListerViewModel>Jil2.22.2561,084.0 ns2,134.997 ns1,666.865 ns561,226.6 ns559,088.3 ns563,650.0 ns0.930.01---246624 B
Json_ToString<CollectionsOfPrimitives>Jil2.12.1394,412.4 ns8,051.294 ns9,271.882 ns395,866.5 ns384,319.8 ns416,821.6 ns1.000.00---190528 B
Json_ToString<CollectionsOfPrimitives>Jil2.22.2394,214.5 ns7,657.936 ns7,864.137 ns391,447.4 ns385,460.2 ns410,549.3 ns1.000.02---190528 B
Json_ToString<IndexViewModel>Jil2.12.159,087.7 ns5,735.562 ns6,605.082 ns57,590.9 ns49,608.0 ns69,280.2 ns1.000.00---58008 B
Json_ToString<IndexViewModel>Jil2.22.251,076.3 ns6,380.115 ns7,347.350 ns47,612.3 ns42,195.3 ns65,003.6 ns0.860.06---58008 B
Json_ToString<Location>Jil2.12.16,329.3 ns2,144.182 ns2,469.243 ns7,412.7 ns3,136.1 ns9,693.5 ns1.000.00---1392 B
Json_ToString<Location>Jil2.22.23,466.3 ns429.753 ns477.669 ns3,136.1 ns3,136.1 ns4,276.6 ns0.660.32---1392 B
Json_ToString<LoginViewModel>Jil2.12.12,400.9 ns312.001 ns346.788 ns2,280.8 ns1,995.7 ns3,136.1 ns1.000.00---736 B
Json_ToString<LoginViewModel>Jil2.22.22,385.9 ns344.248 ns382.631 ns2,280.8 ns1,995.7 ns3,136.1 ns1.000.10---736 B
Json_ToString<MyEventsListerViewModel>Jil2.12.1885,489.2 ns443,655.925 ns510,914.823 ns597,434.8 ns590,734.8 ns1,760,515.2 ns1.000.00---531824 B
Json_ToString<MyEventsListerViewModel>Jil2.22.2547,500.9 ns5,959.215 ns5,282.689 ns546,971.4 ns542,267.2 ns559,943.6 ns0.700.30---531824 B
Json_FromStream<CollectionsOfPrimitives>JSON.NET2.12.1725,043.7 ns14,877.348 ns16,536.133 ns714,512.4 ns710,799.2 ns746,569.9 ns1.000.0047.761214.9254-310672 B
Json_FromStream<CollectionsOfPrimitives>JSON.NET2.22.2739,519.5 ns16,471.067 ns18,307.548 ns726,242.0 ns722,896.8 ns768,524.6 ns1.020.0148.484815.1515-310672 B
Json_FromStream<IndexViewModel>JSON.NET2.12.182,719.8 ns2,152.457 ns2,392.450 ns82,871.1 ns80,116.7 ns89,407.0 ns1.000.005.48250.7310-35592 B
Json_FromStream<IndexViewModel>JSON.NET2.22.280,415.3 ns1,966.457 ns2,264.575 ns79,087.9 ns78,777.6 ns86,931.5 ns0.970.025.28050.6601-35592 B
Json_FromStream<Location>JSON.NET2.12.13,572.7 ns6.361 ns5.312 ns3,570.4 ns3,567.1 ns3,586.7 ns1.000.000.96390.0151-6112 B
Json_FromStream<Location>JSON.NET2.22.23,486.3 ns90.530 ns104.254 ns3,418.7 ns3,391.9 ns3,785.3 ns0.990.030.95360.0142-6112 B
Json_FromStream<LoginViewModel>JSON.NET2.12.11,556.5 ns6.722 ns5.248 ns1,556.0 ns1,546.2 ns1,570.0 ns1.000.000.91550.0064-5800 B
Json_FromStream<LoginViewModel>JSON.NET2.22.21,633.1 ns37.772 ns37.097 ns1,616.0 ns1,609.5 ns1,731.9 ns1.050.030.91960.0067-5800 B
Json_FromStream<MyEventsListerViewModel>JSON.NET2.12.1850,160.1 ns20,019.875 ns23,054.917 ns860,921.7 ns822,883.9 ns910,117.8 ns1.000.0024.13796.8966-163480 B
Json_FromStream<MyEventsListerViewModel>JSON.NET2.22.2881,307.2 ns23,791.281 ns25,456.405 ns892,521.1 ns851,767.6 ns946,015.7 ns1.030.0125.00007.1429-163480 B
Json_FromString<CollectionsOfPrimitives>JSON.NET2.12.1715,560.3 ns21,438.157 ns22,938.588 ns704,472.1 ns694,068.7 ns774,956.7 ns1.000.0046.647214.5773-307656 B
Json_FromString<CollectionsOfPrimitives>JSON.NET2.22.2711,847.9 ns14,222.637 ns15,808.423 ns700,179.7 ns695,903.2 ns730,698.3 ns1.000.0246.647214.5773-307656 B
Json_FromString<IndexViewModel>JSON.NET2.12.173,046.9 ns225.749 ns176.250 ns72,976.7 ns72,918.6 ns73,530.3 ns1.000.004.92310.6154-32576 B
Json_FromString<IndexViewModel>JSON.NET2.22.277,947.5 ns3,806.784 ns4,383.899 ns76,711.4 ns73,573.6 ns87,596.0 ns1.100.064.80770.3205-32576 B
Json_FromString<Location>JSON.NET2.12.13,151.6 ns62.653 ns55.540 ns3,123.1 ns3,117.1 ns3,266.7 ns1.000.000.4837--3096 B
Json_FromString<Location>JSON.NET2.22.23,059.0 ns61.926 ns68.831 ns3,013.9 ns2,989.5 ns3,147.6 ns0.980.020.4786--3096 B
Json_FromString<LoginViewModel>JSON.NET2.12.11,471.6 ns37.427 ns41.600 ns1,443.2 ns1,438.0 ns1,576.2 ns1.000.000.4364--2784 B
Json_FromString<LoginViewModel>JSON.NET2.22.21,499.0 ns28.855 ns29.632 ns1,497.1 ns1,463.6 ns1,559.6 ns1.020.020.4393--2784 B
Json_FromString<MyEventsListerViewModel>JSON.NET2.12.1812,195.2 ns16,133.896 ns14,302.278 ns816,520.9 ns779,227.9 ns827,619.3 ns1.000.0023.10233.3003-160464 B
Json_FromString<MyEventsListerViewModel>JSON.NET2.22.2851,113.7 ns30,080.354 ns33,434.234 ns833,935.2 ns830,413.6 ns933,471.2 ns1.060.0424.39023.4843-160464 B
Json_ToStream<CollectionsOfPrimitives>JSON.NET2.12.1504,674.6 ns12,842.730 ns14,789.707 ns511,638.2 ns489,331.8 ns545,135.2 ns1.000.0016.4609--107664 B
Json_ToStream<CollectionsOfPrimitives>JSON.NET2.22.2505,672.6 ns6,869.327 ns6,089.480 ns507,171.7 ns484,562.3 ns507,972.1 ns0.990.0216.2272--107664 B
Json_ToStream<IndexViewModel>JSON.NET2.12.147,454.2 ns975.509 ns1,043.784 ns46,762.0 ns46,593.6 ns49,093.9 ns1.000.000.1865--2464 B
Json_ToStream<IndexViewModel>JSON.NET2.22.247,494.5 ns1,213.106 ns1,348.364 ns46,854.6 ns46,597.7 ns51,611.6 ns1.000.020.1950--2464 B
Json_ToStream<Location>JSON.NET2.12.11,689.5 ns38.132 ns42.384 ns1,664.9 ns1,656.2 ns1,783.3 ns1.000.000.0694--456 B
Json_ToStream<Location>JSON.NET2.22.21,676.7 ns39.558 ns43.968 ns1,649.3 ns1,645.6 ns1,777.8 ns0.990.000.0692--456 B
Json_ToStream<LoginViewModel>JSON.NET2.12.1761.4 ns18.649 ns21.476 ns749.2 ns746.6 ns820.4 ns1.000.000.0686--456 B
Json_ToStream<LoginViewModel>JSON.NET2.22.2745.1 ns14.877 ns15.918 ns734.8 ns733.5 ns771.7 ns0.980.010.0707--456 B
Json_ToStream<MyEventsListerViewModel>JSON.NET2.12.1936,026.3 ns17,789.424 ns15,769.861 ns941,840.5 ns900,694.2 ns948,665.8 ns1.000.0041.5094--269792 B
Json_ToStream<MyEventsListerViewModel>JSON.NET2.22.2900,660.7 ns14,120.538 ns11,791.289 ns903,448.3 ns861,584.3 ns906,054.3 ns0.960.0139.7112--269792 B
Json_ToString<CollectionsOfPrimitives>JSON.NET2.12.1523,278.5 ns8,948.611 ns7,472.495 ns525,884.2 ns503,191.2 ns527,605.1 ns1.000.0056.842129.473729.4737318800 B
Json_ToString<CollectionsOfPrimitives>JSON.NET2.22.2526,227.9 ns7,985.101 ns7,078.584 ns528,458.0 ns505,596.7 ns530,008.3 ns1.010.0157.082529.598329.5983318800 B
Json_ToString<IndexViewModel>JSON.NET2.12.146,794.3 ns199.024 ns155.385 ns46,789.8 ns46,499.8 ns47,092.4 ns1.000.009.48151.4121-60768 B
Json_ToString<IndexViewModel>JSON.NET2.22.248,275.5 ns955.253 ns1,022.110 ns47,615.3 ns47,413.1 ns49,771.6 ns1.040.029.50121.3856-60768 B
Json_ToString<Location>JSON.NET2.12.11,724.3 ns2.891 ns2.257 ns1,724.9 ns1,720.8 ns1,728.1 ns1.000.000.2744--1744 B
Json_ToString<Location>JSON.NET2.22.21,726.9 ns43.793 ns48.676 ns1,708.1 ns1,690.7 ns1,879.3 ns1.000.030.2689--1744 B
Json_ToString<LoginViewModel>JSON.NET2.12.1826.4 ns18.321 ns20.363 ns814.5 ns812.5 ns886.3 ns1.000.000.2393--1512 B
Json_ToString<LoginViewModel>JSON.NET2.22.2791.1 ns20.327 ns22.594 ns779.0 ns777.1 ns862.4 ns0.960.020.2373--1512 B
Json_ToString<MyEventsListerViewModel>JSON.NET2.12.1942,359.6 ns21,058.719 ns18,668.006 ns937,590.8 ns932,038.6 ns1,005,568.5 ns1.000.0086.274543.137343.1373578256 B
Json_ToString<MyEventsListerViewModel>JSON.NET2.22.2930,082.0 ns27,260.824 ns31,393.606 ns916,888.6 ns902,351.0 ns1,007,782.5 ns1.000.0490.225645.112845.1128578240 B
Json_FromStream<CollectionsOfPrimitives>Utf8Json2.12.1339,258.2 ns4,901.299 ns4,344.873 ns340,645.8 ns326,441.0 ns342,156.6 ns1.000.0026.88178.0645-179544 B
Json_FromStream<CollectionsOfPrimitives>Utf8Json2.22.2333,887.3 ns3,857.541 ns3,221.221 ns334,572.8 ns323,239.2 ns335,697.6 ns0.980.0028.11248.0321-179544 B
Json_FromStream<IndexViewModel>Utf8Json2.12.153,766.7 ns1,386.099 ns1,540.645 ns52,720.7 ns52,464.4 ns58,268.1 ns1.000.003.50490.4381-22600 B
Json_FromStream<IndexViewModel>Utf8Json2.22.247,639.6 ns1,273.946 ns1,467.078 ns48,018.5 ns46,147.0 ns51,602.2 ns0.890.033.48700.3874-22600 B
Json_FromStream<Location>Utf8Json2.12.11,083.9 ns34.184 ns37.995 ns1,061.3 ns1,052.4 ns1,184.6 ns1.000.000.0752--488 B
Json_FromStream<Location>Utf8Json2.22.21,054.4 ns32.423 ns37.338 ns1,064.3 ns1,015.4 ns1,139.8 ns0.980.040.0729--488 B
Json_FromStream<LoginViewModel>Utf8Json2.12.1425.3 ns10.406 ns10.220 ns420.4 ns417.6 ns453.1 ns1.000.000.0265--176 B
Json_FromStream<LoginViewModel>Utf8Json2.22.2438.4 ns14.385 ns15.392 ns428.3 ns426.6 ns472.7 ns1.030.030.0271--176 B
Json_FromStream<MyEventsListerViewModel>Utf8Json2.12.1395,128.1 ns10,712.264 ns11,462.003 ns389,461.6 ns387,042.8 ns428,803.3 ns1.000.0016.20753.2415-111184 B
Json_FromStream<MyEventsListerViewModel>Utf8Json2.22.2381,261.3 ns9,329.981 ns10,370.249 ns375,541.9 ns374,275.0 ns411,412.6 ns0.970.0317.24144.7022-111184 B
Json_FromString<CollectionsOfPrimitives>Utf8Json2.12.1349,487.2 ns9,366.222 ns10,410.531 ns343,546.7 ns341,826.6 ns380,184.9 ns1.000.0034.482810.0575-228360 B
Json_FromString<CollectionsOfPrimitives>Utf8Json2.22.2349,054.5 ns8,148.860 ns8,719.189 ns344,421.3 ns343,371.0 ns371,963.2 ns1.000.0334.632010.1010-228360 B
Json_FromString<IndexViewModel>Utf8Json2.12.153,017.8 ns1,037.301 ns1,152.958 ns52,371.7 ns52,019.7 ns54,921.4 ns1.000.005.44900.4359-35184 B
Json_FromString<IndexViewModel>Utf8Json2.22.252,359.3 ns227.107 ns177.310 ns52,309.8 ns52,193.5 ns52,856.9 ns0.980.025.43480.4181-35184 B
Json_FromString<Location>Utf8Json2.12.11,262.5 ns75.837 ns87.334 ns1,231.1 ns1,192.3 ns1,446.9 ns1.000.000.1104--712 B
Json_FromString<Location>Utf8Json2.22.21,214.3 ns32.009 ns32.870 ns1,212.7 ns1,179.2 ns1,307.0 ns0.960.070.1089--712 B
Json_FromString<LoginViewModel>Utf8Json2.12.1500.5 ns14.647 ns15.672 ns490.1 ns488.4 ns543.1 ns1.000.000.0437--288 B
Json_FromString<LoginViewModel>Utf8Json2.22.2486.3 ns8.877 ns7.413 ns484.2 ns483.5 ns510.9 ns0.960.030.0450--288 B
Json_FromString<MyEventsListerViewModel>Utf8Json2.12.1452,364.1 ns8,589.732 ns9,190.917 ns447,465.2 ns445,400.6 ns470,012.0 ns1.000.0027.98517.4627-184560 B
Json_FromString<MyEventsListerViewModel>Utf8Json2.22.2445,263.4 ns6,466.595 ns5,732.468 ns446,454.0 ns426,594.7 ns449,589.1 ns0.980.0228.62257.1556-184560 B
Json_ToStream<CollectionsOfPrimitives>Utf8Json2.12.1318,547.3 ns1,592.985 ns1,243.698 ns317,981.1 ns317,506.4 ns321,807.6 ns1.000.00---2768 B
Json_ToStream<CollectionsOfPrimitives>Utf8Json2.22.2321,580.5 ns6,388.259 ns6,560.272 ns325,319.3 ns311,883.3 ns327,705.0 ns1.010.02---2768 B
Json_ToStream<IndexViewModel>Utf8Json2.12.132,845.1 ns885.513 ns1,019.758 ns32,746.1 ns31,845.7 ns35,462.3 ns1.000.00----
Json_ToStream<IndexViewModel>Utf8Json2.22.227,015.0 ns671.787 ns746.690 ns26,586.1 ns26,426.5 ns29,064.8 ns0.820.03----
Json_ToStream<Location>Utf8Json2.12.1451.1 ns11.637 ns12.934 ns442.4 ns439.8 ns486.5 ns1.000.00----
Json_ToStream<Location>Utf8Json2.22.2430.5 ns10.591 ns12.196 ns423.3 ns419.8 ns453.6 ns0.960.02----
Json_ToStream<LoginViewModel>Utf8Json2.12.1200.7 ns4.295 ns4.773 ns198.0 ns197.6 ns212.1 ns1.000.00----
Json_ToStream<LoginViewModel>Utf8Json2.22.2191.2 ns4.307 ns4.609 ns187.9 ns186.8 ns198.5 ns0.950.02----
Json_ToStream<MyEventsListerViewModel>Utf8Json2.12.1753,272.5 ns22,921.961 ns25,477.699 ns756,169.0 ns719,818.7 ns810,799.5 ns1.000.0039.274939.274939.2749370712 B
Json_ToStream<MyEventsListerViewModel>Utf8Json2.22.2719,206.1 ns18,950.090 ns21,062.975 ns730,236.3 ns698,976.7 ns777,450.0 ns0.960.0341.297941.297941.2979370712 B
Json_ToString<CollectionsOfPrimitives>Utf8Json2.12.1355,214.6 ns9,741.344 ns10,827.478 ns359,885.8 ns343,328.0 ns382,189.5 ns1.000.0030.215830.215830.2158100376 B
Json_ToString<CollectionsOfPrimitives>Utf8Json2.22.2347,145.0 ns9,228.193 ns9,874.063 ns342,364.8 ns341,812.3 ns374,532.7 ns0.980.0330.086030.086030.0860100376 B
Json_ToString<IndexViewModel>Utf8Json2.12.138,253.8 ns752.164 ns866.193 ns38,285.4 ns36,962.4 ns40,280.8 ns1.000.003.89110.1556-25136 B
Json_ToString<IndexViewModel>Utf8Json2.22.238,284.0 ns1,139.674 ns1,219.438 ns37,531.2 ns37,092.6 ns40,561.4 ns1.000.043.86700.1547-25136 B
Json_ToString<Location>Utf8Json2.12.1564.3 ns13.521 ns14.468 ns555.8 ns552.7 ns601.9 ns1.000.000.0649--424 B
Json_ToString<Location>Utf8Json2.22.2550.5 ns10.793 ns10.600 ns546.6 ns540.1 ns569.0 ns0.970.020.0657--424 B
Json_ToString<LoginViewModel>Utf8Json2.12.1258.5 ns6.763 ns7.517 ns253.8 ns252.9 ns278.3 ns1.000.000.0296--192 B
Json_ToString<LoginViewModel>Utf8Json2.22.2240.8 ns4.776 ns5.309 ns236.8 ns235.6 ns249.1 ns0.930.020.0299--192 B
Json_ToString<MyEventsListerViewModel>Utf8Json2.12.1740,750.4 ns14,081.948 ns14,461.124 ns736,129.2 ns730,963.2 ns780,618.6 ns1.000.0086.378786.378786.3787517432 B
Json_ToString<MyEventsListerViewModel>Utf8Json2.22.2759,103.6 ns25,792.467 ns28,668.259 ns739,993.9 ns733,818.4 ns821,446.1 ns1.030.0483.941683.941683.9416517432 B
Json_FromStream<CollectionsOfPrimitives>DataContractJsonSerializer2.12.14,368,004.1 ns118,690.854 ns131,924.570 ns4,290,322.7 ns4,268,525.7 ns4,732,064.2 ns1.000.00125.000031.2500-835496 B
Json_FromStream<CollectionsOfPrimitives>DataContractJsonSerializer2.22.24,340,251.0 ns105,401.521 ns108,239.602 ns4,278,140.6 ns4,264,647.1 ns4,585,673.9 ns0.990.02125.000031.2500-835496 B
Json_FromStream<IndexViewModel>DataContractJsonSerializer2.12.1368,175.6 ns2,029.407 ns1,799.016 ns368,003.8 ns365,037.1 ns371,661.0 ns1.000.0013.71951.5244-95128 B
Json_FromStream<IndexViewModel>DataContractJsonSerializer2.22.2385,418.0 ns18,044.488 ns20,780.059 ns387,324.1 ns359,394.0 ns436,183.6 ns1.070.0514.06251.5625-95128 B
Json_FromStream<Location>DataContractJsonSerializer2.12.111,350.4 ns304.815 ns338.801 ns11,132.8 ns11,009.7 ns12,210.1 ns1.000.001.93580.0461-12376 B
Json_FromStream<Location>DataContractJsonSerializer2.22.211,303.7 ns214.696 ns200.826 ns11,242.7 ns11,132.7 ns11,798.4 ns0.990.031.92960.0471-12376 B
Json_FromStream<LoginViewModel>DataContractJsonSerializer2.12.14,982.6 ns125.636 ns129.019 ns4,898.2 ns4,870.9 ns5,291.4 ns1.000.001.78170.0405-11344 B
Json_FromStream<LoginViewModel>DataContractJsonSerializer2.22.24,770.6 ns101.823 ns104.565 ns4,706.1 ns4,661.8 ns4,907.9 ns0.960.011.79460.0390-11344 B
Json_FromStream<MyEventsListerViewModel>DataContractJsonSerializer2.12.13,935,524.1 ns77,362.071 ns64,600.833 ns3,945,287.6 ns3,736,412.4 ns4,001,172.6 ns1.000.0080.645216.1290-616304 B
Json_FromStream<MyEventsListerViewModel>DataContractJsonSerializer2.22.23,847,116.3 ns51,692.505 ns45,824.059 ns3,841,978.2 ns3,737,687.2 ns3,926,925.9 ns0.980.0292.307715.3846-616304 B
Json_ToStream<CollectionsOfPrimitives>DataContractJsonSerializer2.12.11,926,519.0 ns57,044.245 ns63,404.527 ns1,946,786.7 ns1,859,742.5 ns2,070,584.5 ns1.000.007.8740--79024 B
Json_ToStream<CollectionsOfPrimitives>DataContractJsonSerializer2.22.21,759,662.2 ns47,756.510 ns53,081.234 ns1,733,149.4 ns1,725,073.5 ns1,915,793.4 ns0.910.037.2464--79024 B
Json_ToStream<IndexViewModel>DataContractJsonSerializer2.12.1108,491.3 ns2,317.127 ns2,275.728 ns107,554.5 ns106,780.7 ns113,410.8 ns1.000.00---2432 B
Json_ToStream<IndexViewModel>DataContractJsonSerializer2.22.2108,020.9 ns3,304.128 ns3,805.039 ns105,486.9 ns104,736.8 ns117,953.2 ns1.000.04---2432 B
Json_ToStream<Location>DataContractJsonSerializer2.12.13,065.2 ns83.815 ns96.521 ns3,091.4 ns2,949.7 ns3,277.9 ns1.000.000.1499--1008 B
Json_ToStream<Location>DataContractJsonSerializer2.22.23,034.0 ns109.444 ns117.104 ns2,971.8 ns2,940.5 ns3,336.0 ns0.990.040.1488--1008 B
Json_ToStream<LoginViewModel>DataContractJsonSerializer2.12.11,318.8 ns32.345 ns37.249 ns1,299.3 ns1,289.3 ns1,415.9 ns1.000.000.1567--1008 B
Json_ToStream<LoginViewModel>DataContractJsonSerializer2.22.21,338.3 ns34.486 ns39.714 ns1,311.6 ns1,304.4 ns1,443.1 ns1.020.030.1587--1008 B
Json_ToStream<MyEventsListerViewModel>DataContractJsonSerializer2.12.11,088,181.7 ns17,752.401 ns15,737.041 ns1,090,969.2 ns1,034,786.3 ns1,100,516.4 ns1.000.00---24192 B
Json_ToStream<MyEventsListerViewModel>DataContractJsonSerializer2.22.21,043,027.1 ns30,484.981 ns33,883.976 ns1,024,529.7 ns1,014,664.7 ns1,131,768.6 ns0.970.03---24192 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

Serializers.XML

No significant difference.

Type MethodJobToolchain Mean Error StdDev Median Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Xml_FromStream<ClassImplementingIXmlSerialiable>XmlSerializer2.12.13,795.9 ns101.667 ns108.782 ns3,743.0 ns3,720.7 ns4,144.5 ns1.000.000.6841--4.31 KB
Xml_FromStream<ClassImplementingIXmlSerialiable>XmlSerializer2.22.23,780.6 ns121.089 ns129.564 ns3,762.3 ns3,647.4 ns4,062.7 ns1.000.030.6967--4.31 KB
Xml_FromStream<CollectionsOfPrimitives>XmlSerializer2.12.1999,384.4 ns30,804.110 ns34,238.686 ns1,010,887.3 ns965,220.8 ns1,084,136.4 ns1.000.0025.0000--173.96 KB
Xml_FromStream<CollectionsOfPrimitives>XmlSerializer2.22.21,011,412.0 ns17,086.538 ns13,340.045 ns1,007,136.9 ns1,003,351.6 ns1,050,285.6 ns0.990.0225.0000--173.96 KB
Xml_FromStream<IndexViewModel>XmlSerializer2.12.1148,114.0 ns3,795.079 ns4,218.220 ns145,369.2 ns144,477.4 ns158,134.0 ns1.000.0010.31551.2136-66.19 KB
Xml_FromStream<IndexViewModel>XmlSerializer2.22.2147,653.5 ns2,867.119 ns3,186.795 ns146,043.0 ns145,542.5 ns154,499.2 ns1.000.0210.39761.2232-66.19 KB
Xml_FromStream<Location>XmlSerializer2.12.19,487.6 ns212.386 ns188.275 ns9,405.7 ns9,356.8 ns9,915.7 ns1.000.001.0979--7 KB
Xml_FromStream<Location>XmlSerializer2.22.29,467.3 ns38.806 ns30.297 ns9,466.8 ns9,391.6 ns9,520.8 ns1.000.021.1139--7 KB
Xml_FromStream<LoginViewModel>XmlSerializer2.12.16,855.8 ns126.166 ns118.016 ns6,820.2 ns6,773.4 ns7,142.8 ns1.000.000.9382--5.95 KB
Xml_FromStream<LoginViewModel>XmlSerializer2.22.27,051.0 ns223.277 ns238.904 ns6,903.5 ns6,843.6 ns7,645.0 ns1.030.030.9603--5.95 KB
Xml_FromStream<MyEventsListerViewModel>XmlSerializer2.12.11,855,326.4 ns53,171.132 ns61,231.955 ns1,815,037.4 ns1,802,865.2 ns2,024,841.7 ns1.000.0085.271323.2558-536.98 KB
Xml_FromStream<MyEventsListerViewModel>XmlSerializer2.22.21,927,516.1 ns53,514.995 ns57,260.445 ns1,934,468.2 ns1,849,832.2 ns2,058,225.3 ns1.040.0485.271323.2558-536.98 KB
Xml_FromStream<SimpleStructWithProperties>XmlSerializer2.12.16,180.1 ns147.126 ns157.423 ns6,105.0 ns6,074.1 ns6,622.8 ns1.000.000.8177--5.13 KB
Xml_FromStream<SimpleStructWithProperties>XmlSerializer2.22.26,152.0 ns17.119 ns13.366 ns6,150.9 ns6,133.9 ns6,175.9 ns0.990.030.8044--5.13 KB
Xml_FromStream<XmlElement>XmlSerializer2.12.14,941.2 ns322.734 ns371.661 ns4,690.3 ns4,607.1 ns5,622.6 ns1.000.000.94840.0186-5.93 KB
Xml_FromStream<XmlElement>XmlSerializer2.22.24,681.0 ns121.924 ns140.408 ns4,602.2 ns4,562.7 ns5,102.5 ns0.950.050.96000.0200-5.93 KB
Xml_ToStream<ClassImplementingIXmlSerialiable>XmlSerializer2.12.11,391.5 ns40.934 ns45.498 ns1,365.0 ns1,356.0 ns1,500.1 ns1.000.001.14000.0227-7.02 KB
Xml_ToStream<ClassImplementingIXmlSerialiable>XmlSerializer2.22.21,398.7 ns34.142 ns37.949 ns1,375.5 ns1,368.9 ns1,499.1 ns1.010.021.13900.0229-7.02 KB
Xml_ToStream<CollectionsOfPrimitives>XmlSerializer2.12.1596,533.2 ns15,408.420 ns16,486.837 ns584,531.4 ns581,977.1 ns636,652.7 ns1.000.0070.6522--453.91 KB
Xml_ToStream<CollectionsOfPrimitives>XmlSerializer2.22.2592,791.0 ns1,194.702 ns997.630 ns592,530.5 ns591,501.8 ns594,885.3 ns0.990.0372.1154--453.91 KB
Xml_ToStream<IndexViewModel>XmlSerializer2.12.151,159.9 ns1,781.905 ns1,487.971 ns50,673.7 ns50,319.1 ns55,717.5 ns1.000.001.6892--10.97 KB
Xml_ToStream<IndexViewModel>XmlSerializer2.22.252,828.8 ns2,821.035 ns3,248.708 ns52,263.1 ns49,857.2 ns60,498.3 ns1.060.071.6667--10.97 KB
Xml_ToStream<Location>XmlSerializer2.12.13,753.1 ns125.337 ns139.311 ns3,651.8 ns3,633.9 ns4,060.2 ns1.000.001.23540.0153-7.66 KB
Xml_ToStream<Location>XmlSerializer2.22.23,895.0 ns77.013 ns64.310 ns3,921.6 ns3,743.2 ns3,927.2 ns1.020.031.24120.0157-7.66 KB
Xml_ToStream<LoginViewModel>XmlSerializer2.12.12,588.3 ns12.531 ns10.464 ns2,588.1 ns2,576.9 ns2,616.2 ns1.000.001.22770.0208-7.62 KB
Xml_ToStream<LoginViewModel>XmlSerializer2.22.22,678.1 ns58.028 ns66.825 ns2,644.2 ns2,625.2 ns2,870.9 ns1.040.031.22610.0219-7.62 KB
Xml_ToStream<MyEventsListerViewModel>XmlSerializer2.12.1452,637.7 ns12,621.286 ns14,028.526 ns446,589.9 ns439,899.4 ns492,967.4 ns1.000.007.3529--57.3 KB
Xml_ToStream<MyEventsListerViewModel>XmlSerializer2.22.2497,356.2 ns30,882.219 ns35,564.009 ns473,585.8 ns468,655.6 ns585,134.1 ns1.100.088.3333--57.3 KB
Xml_ToStream<SimpleStructWithProperties>XmlSerializer2.12.12,394.8 ns49.208 ns52.652 ns2,362.6 ns2,341.1 ns2,464.4 ns1.000.001.22820.0195-7.57 KB
Xml_ToStream<SimpleStructWithProperties>XmlSerializer2.22.22,390.8 ns45.022 ns44.218 ns2,368.3 ns2,363.4 ns2,488.4 ns1.000.021.22160.0197-7.57 KB
Xml_ToStream<XmlElement>XmlSerializer2.12.11,325.2 ns26.161 ns25.694 ns1,332.2 ns1,292.2 ns1,356.0 ns1.000.001.13590.0215-7.02 KB
Xml_ToStream<XmlElement>XmlSerializer2.22.21,291.2 ns24.920 ns26.664 ns1,279.3 ns1,276.9 ns1,373.7 ns0.980.021.13590.0213-7.02 KB
Xml_FromStream<ClassImplementingIXmlSerialiable>DataContractSerializer2.12.12,122.0 ns41.494 ns44.398 ns2,092.8 ns2,069.3 ns2,188.3 ns1.000.000.78900.0088-4.91 KB
Xml_FromStream<ClassImplementingIXmlSerialiable>DataContractSerializer2.22.22,078.9 ns54.310 ns58.111 ns2,052.4 ns2,033.1 ns2,260.5 ns0.980.030.79070.0085-4.91 KB
Xml_FromStream<CollectionsOfPrimitives>DataContractSerializer2.12.11,838,644.7 ns48,818.935 ns56,219.959 ns1,798,964.5 ns1,787,775.2 ns1,985,112.4 ns1.000.0027.77786.9444-209.98 KB
Xml_FromStream<CollectionsOfPrimitives>DataContractSerializer2.22.21,894,600.2 ns52,406.983 ns58,250.223 ns1,863,604.0 ns1,836,907.2 ns2,041,209.8 ns1.030.0327.77786.9444-209.98 KB
Xml_FromStream<IndexViewModel>DataContractSerializer2.12.1171,436.9 ns4,362.055 ns4,848.412 ns171,105.5 ns166,656.6 ns183,251.3 ns1.000.006.32020.7022-41.64 KB
Xml_FromStream<IndexViewModel>DataContractSerializer2.22.2176,600.2 ns5,025.284 ns5,787.124 ns176,932.9 ns170,707.1 ns191,810.9 ns1.030.036.46550.7184-41.64 KB
Xml_FromStream<Location>DataContractSerializer2.12.16,413.8 ns131.282 ns140.471 ns6,422.8 ns6,247.9 ns6,577.0 ns1.000.001.93510.0523-12.03 KB
Xml_FromStream<Location>DataContractSerializer2.22.26,456.9 ns134.581 ns144.001 ns6,442.6 ns6,307.9 ns6,638.9 ns1.010.001.94650.0526-12.03 KB
Xml_FromStream<LoginViewModel>DataContractSerializer2.12.13,754.9 ns94.912 ns105.495 ns3,694.2 ns3,664.1 ns4,047.3 ns1.000.001.89580.0462-11.73 KB
Xml_FromStream<LoginViewModel>DataContractSerializer2.22.23,790.5 ns16.398 ns12.803 ns3,791.0 ns3,778.3 ns3,823.5 ns1.000.031.89210.0454-11.73 KB
Xml_FromStream<MyEventsListerViewModel>DataContractSerializer2.12.11,950,570.4 ns57,764.357 ns66,521.519 ns1,909,030.0 ns1,895,923.1 ns2,138,900.4 ns1.000.0023.4375--194.54 KB
Xml_FromStream<MyEventsListerViewModel>DataContractSerializer2.22.22,022,999.0 ns44,579.584 ns49,550.089 ns2,050,858.7 ns1,957,683.2 ns2,087,278.4 ns1.040.0323.4375--194.61 KB
Xml_FromStream<SimpleStructWithProperties>DataContractSerializer2.12.12,791.8 ns81.366 ns87.061 ns2,786.5 ns2,702.6 ns2,985.3 ns1.000.001.86330.0454-11.52 KB
Xml_FromStream<SimpleStructWithProperties>DataContractSerializer2.22.22,872.5 ns51.357 ns42.885 ns2,889.0 ns2,775.1 ns2,897.3 ns1.020.031.86880.0461-11.52 KB
Xml_FromStream<XmlElement>DataContractSerializer2.12.13,726.1 ns73.556 ns75.536 ns3,778.8 ns3,615.9 ns3,794.6 ns1.000.001.40180.0305-8.66 KB
Xml_FromStream<XmlElement>DataContractSerializer2.22.23,843.9 ns147.022 ns163.415 ns3,838.1 ns3,674.9 ns4,260.5 ns1.040.041.39230.0306-8.66 KB
Xml_ToStream<ClassImplementingIXmlSerialiable>DataContractSerializer2.12.1715.8 ns26.614 ns28.476 ns700.8 ns694.0 ns785.3 ns1.000.000.1863--1.16 KB
Xml_ToStream<ClassImplementingIXmlSerialiable>DataContractSerializer2.22.2738.5 ns29.464 ns24.604 ns727.8 ns725.6 ns812.8 ns1.020.030.1872--1.16 KB
Xml_ToStream<CollectionsOfPrimitives>DataContractSerializer2.12.1786,883.8 ns19,527.123 ns22,487.464 ns772,554.6 ns767,338.1 ns844,103.7 ns1.000.003.2258--33.74 KB
Xml_ToStream<CollectionsOfPrimitives>DataContractSerializer2.22.2803,760.7 ns25,140.470 ns28,951.803 ns789,886.7 ns775,610.6 ns886,308.1 ns1.020.033.2680--33.74 KB
Xml_ToStream<IndexViewModel>DataContractSerializer2.12.187,443.2 ns2,046.842 ns2,190.098 ns86,523.9 ns85,361.2 ns91,716.9 ns1.000.003.2097--20.37 KB
Xml_ToStream<IndexViewModel>DataContractSerializer2.22.283,329.7 ns3,192.829 ns3,548.821 ns81,545.5 ns80,397.5 ns92,080.3 ns0.950.033.0685--20.37 KB
Xml_ToStream<Location>DataContractSerializer2.12.12,362.0 ns83.958 ns89.834 ns2,314.5 ns2,286.3 ns2,606.7 ns1.000.000.2134--1.37 KB
Xml_ToStream<Location>DataContractSerializer2.22.22,397.4 ns62.272 ns69.216 ns2,429.1 ns2,322.6 ns2,572.7 ns1.020.040.2153--1.37 KB
Xml_ToStream<LoginViewModel>DataContractSerializer2.12.11,273.9 ns2.987 ns2.332 ns1,272.7 ns1,270.3 ns1,277.3 ns1.000.000.2192--1.37 KB
Xml_ToStream<LoginViewModel>DataContractSerializer2.22.21,312.3 ns26.710 ns28.580 ns1,299.9 ns1,280.5 ns1,366.5 ns1.040.020.2208--1.37 KB
Xml_ToStream<MyEventsListerViewModel>DataContractSerializer2.12.11,090,736.9 ns63,414.982 ns73,028.788 ns1,039,776.8 ns1,031,683.3 ns1,262,440.3 ns1.000.0051.7241--339.2 KB
Xml_ToStream<MyEventsListerViewModel>DataContractSerializer2.22.2942,200.3 ns28,936.110 ns32,162.409 ns920,454.1 ns913,548.1 ns1,032,065.9 ns0.860.0451.0949--339.2 KB
Xml_ToStream<SimpleStructWithProperties>DataContractSerializer2.12.11,070.3 ns19.484 ns16.270 ns1,071.0 ns1,045.4 ns1,108.4 ns1.000.000.2248--1.4 KB
Xml_ToStream<SimpleStructWithProperties>DataContractSerializer2.22.21,046.0 ns27.259 ns29.166 ns1,028.0 ns1,021.6 ns1,115.5 ns0.980.020.2236--1.4 KB
Xml_ToStream<XmlElement>DataContractSerializer2.12.1484.9 ns9.447 ns9.702 ns479.8 ns473.5 ns505.8 ns1.000.000.1800--1.12 KB
Xml_ToStream<XmlElement>DataContractSerializer2.22.2464.7 ns8.937 ns7.923 ns461.9 ns457.6 ns482.9 ns0.960.020.1795--1.12 KB

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

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.

MethodToolchainnumElementsMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
CallBlockCopy2.105.242 ns0.0168 ns0.0140 ns5.244 ns5.221 ns5.272 ns1.000.00----
CallBlockCopy2.205.426 ns0.0060 ns0.0053 ns5.424 ns5.420 ns5.435 ns1.040.00----
CallBlockCopy2.1106.250 ns0.0084 ns0.0070 ns6.248 ns6.240 ns6.268 ns1.000.00----
CallBlockCopy2.2106.517 ns0.0127 ns0.0119 ns6.517 ns6.504 ns6.547 ns1.040.00----
CallBlockCopy2.11008.522 ns0.1662 ns0.1554 ns8.445 ns8.389 ns8.812 ns1.000.00----
CallBlockCopy2.210012.397 ns0.0123 ns0.0102 ns12.394 ns12.385 ns12.422 ns1.450.03----
CallBlockCopy2.1100028.606 ns0.0288 ns0.0269 ns28.599 ns28.566 ns28.646 ns1.000.00----
CallBlockCopy2.2100030.694 ns0.0405 ns0.0338 ns30.680 ns30.645 ns30.759 ns1.070.00----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

PerfLabTests.CastingPerf2.CastingPerf

No significant difference.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
ObjFooIsObj2.1.NET Core 2.1481.4 us13.6994 us14.0683 us472.9 us466.7 us509.8 us1.000.00----
ObjFooIsObj2.22.2467.2 us12.3674 us13.7464 us456.7 us455.0 us503.6 us0.970.01----
FooObjIsFoo2.1.NET Core 2.1629.7 us15.7392 us18.1253 us618.1 us613.4 us681.5 us1.000.00----
FooObjIsFoo2.22.2596.5 us1.7083 us1.4265 us596.5 us594.7 us598.9 us0.940.03----
FooObjIsNull2.1.NET Core 2.1483.7 us11.7029 us13.0077 us489.8 us465.0 us509.2 us1.000.00----
FooObjIsNull2.22.2467.9 us13.4508 us14.3922 us464.1 us455.1 us503.1 us0.970.03----
FooObjIsDescendant2.1.NET Core 2.1488.5 us12.4309 us12.7656 us477.7 us476.6 us511.1 us1.000.00----
FooObjIsDescendant2.22.2513.4 us13.3035 us14.2346 us503.6 us502.3 us548.0 us1.050.02----
IFooFooIsIFoo2.1.NET Core 2.1488.4 us8.6750 us7.2440 us490.7 us469.7 us494.4 us1.000.00----
IFooFooIsIFoo2.22.2465.7 us11.9536 us13.2864 us457.5 us455.2 us503.0 us0.960.03----
IFooObjIsIFoo2.1.NET Core 2.1717.4 us39.9981 us46.0619 us706.6 us659.5 us816.3 us1.000.00----
IFooObjIsIFoo2.22.2692.1 us23.3318 us26.8689 us696.1 us657.9 us755.6 us0.970.04----
IFooObjIsIFooInterAlia2.1.NET Core 2.1460.1 us26.6581 us30.6995 us450.2 us429.4 us529.1 us1.000.00----
IFooObjIsIFooInterAlia2.22.2441.2 us10.3098 us11.0314 us441.1 us430.0 us461.5 us0.960.05----
IFooObjIsDescendantOfIFoo2.1.NET Core 2.1702.9 us12.3799 us9.6654 us705.9 us676.8 us709.9 us1.000.00----
IFooObjIsDescendantOfIFoo2.22.2690.2 us19.2837 us22.2072 us679.1 us667.3 us739.8 us1.000.03----
ObjInt2.1.NET Core 2.1500.3 us13.2557 us14.7336 us492.0 us490.5 us535.5 us1.000.00379.0323--2400000 B
ObjInt2.22.2518.0 us22.1802 us25.5427 us514.7 us492.7 us569.2 us1.040.05379.0323--2400000 B
IntObj2.1.NET Core 2.1131.2 us3.9470 us4.3871 us132.5 us126.4 us140.6 us1.000.00----
IntObj2.22.2129.9 us3.1742 us3.2597 us130.6 us126.4 us135.9 us0.990.03----
ObjScalarValueType2.1.NET Core 2.1504.9 us10.0758 us10.3471 us498.0 us495.7 us518.9 us1.000.00379.0323--2400000 B
ObjScalarValueType2.22.2551.2 us37.7659 us43.4912 us522.8 us519.0 us639.9 us1.100.07379.3103--2400000 B
ScalarValueTypeObj2.1.NET Core 2.1240.9 us7.0278 us6.2300 us238.4 us232.9 us254.3 us1.000.00----
ScalarValueTypeObj2.22.2243.8 us13.5999 us15.6617 us238.5 us227.4 us272.6 us1.040.06----
ObjObjrefValueType2.1.NET Core 2.1798.0 us15.7334 us16.8345 us784.4 us782.5 us818.8 us1.000.00506.2500--3200000 B
ObjObjrefValueType2.22.2813.7 us26.1490 us27.9792 us807.3 us788.3 us880.4 us1.020.03506.5789--3200000 B
ObjrefValueTypeObj2.1.NET Core 2.1841.6 us0.6416 us0.5687 us841.7 us840.2 us842.3 us1.000.00----
ObjrefValueTypeObj2.22.2870.6 us18.0545 us17.7319 us861.5 us859.0 us900.3 us1.040.02----
FooObjCastIfIsa2.1.NET Core 2.1436.7 us11.9396 us12.7753 us433.3 us425.2 us471.4 us1.000.00----
FooObjCastIfIsa2.22.2387.6 us10.1462 us11.2775 us394.4 us376.3 us413.3 us0.890.02----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

PerfLabTests.GetMember

No significant difference.

MethodJobToolchainMeanErrorStdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
GetField2.1.NET Core 2.1102.5 us0.3049 us0.2381 us102.4 us102.30 us103.1 us1.000.00---1 B
GetField2.22.2101.8 us2.7519 us2.9445 us103.1 us98.40 us109.0 us1.010.02---1 B
GetMethod12.1.NET Core 2.1174.6 us3.6080 us4.0103 us172.0 us171.13 us180.0 us1.000.00---1 B
GetMethod12.22.2178.4 us6.4924 us7.2163 us173.4 us172.26 us195.2 us1.020.03---1 B
GetMethod22.1.NET Core 2.1361.3 us0.3358 us0.2622 us361.3 us360.79 us361.7 us1.000.00---2 B
GetMethod22.22.2360.3 us1.0883 us0.9648 us360.6 us357.04 us360.9 us1.000.00---2 B
GetMethod32.1.NET Core 2.1529.9 us11.1073 us12.3457 us520.6 us517.55 us545.1 us1.000.00---6 B
GetMethod32.22.2532.7 us13.1476 us14.6136 us540.5 us516.43 us567.1 us1.010.02---6 B
GetMethod42.1.NET Core 2.1710.1 us14.0718 us15.6408 us708.8 us692.12 us726.4 us1.000.00---10 B
GetMethod42.22.2718.1 us20.2175 us22.4717 us724.4 us691.81 us768.3 us1.010.03---10 B
GetMethod52.1.NET Core 2.1876.6 us20.2595 us21.6774 us864.5 us862.89 us930.7 us1.000.00---15 B
GetMethod52.22.2886.9 us24.1969 us25.8904 us878.2 us863.64 us955.4 us1.010.03---16 B
GetMethod102.1.NET Core 2.11,813.7 us5.3733 us4.4870 us1,812.0 us1,810.13 us1,825.9 us1.000.00---61 B
GetMethod102.22.21,761.7 us37.4599 us41.6366 us1,741.1 us1,719.86 us1,813.2 us0.980.02---61 B
GetMethod122.1.NET Core 2.12,117.9 us65.3121 us69.8833 us2,073.4 us2,068.20 us2,300.2 us1.000.00---82 B
GetMethod122.22.22,166.6 us6.4241 us5.3644 us2,166.0 us2,156.47 us2,178.9 us1.020.04---93 B
GetMethod152.1.NET Core 2.12,719.3 us4.9841 us4.1620 us2,717.9 us2,715.61 us2,730.5 us1.000.00---136 B
GetMethod152.22.22,677.6 us75.1785 us77.2028 us2,714.8 us2,593.85 us2,866.4 us0.990.03---136 B
GetMethod202.1.NET Core 2.13,561.9 us87.1349 us96.8502 us3,493.6 us3,476.79 us3,779.4 us1.000.00---218 B
GetMethod202.22.23,534.1 us75.4754 us80.7578 us3,476.8 us3,460.75 us3,639.9 us0.990.02---218 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

PerfLabTests.StackWalk

No significant difference.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Walk2.1.NET Core 2.118.61 ms0.0387 ms0.0343 ms18.61 ms18.54 ms18.66 ms1.000.001000000.0000---
Walk2.22.218.11 ms0.3525 ms0.3772 ms18.30 ms17.56 ms18.67 ms0.980.021000000.0000---

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

SciMark2

No significant difference.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
benchFFT2.1.NET Core 2.1707.7 ms5.1827 ms4.3278 ms706.0 ms705.0 ms718.6 ms1.000.00----
benchFFT2.22.2702.7 ms13.9899 ms14.9690 ms694.3 ms691.4 ms729.3 ms1.000.02----
benchSOR2.1.NET Core 2.1828.1 ms0.5723 ms0.4468 ms828.0 ms827.4 ms828.9 ms1.000.00----
benchSOR2.22.2828.1 ms0.4481 ms0.3499 ms828.1 ms827.5 ms828.9 ms1.000.00----
benchMonteCarlo2.1.NET Core 2.1703.1 ms13.7300 ms13.4847 ms696.9 ms696.1 ms731.8 ms1.000.00---176 B
benchMonteCarlo2.22.2728.0 ms14.5844 ms14.9771 ms719.9 ms718.8 ms754.8 ms1.040.01---176 B
benchSparseMult2.1.NET Core 2.1616.7 ms13.2281 ms13.5843 ms609.6 ms608.6 ms646.7 ms1.000.00----
benchSparseMult2.22.2624.0 ms11.6191 ms10.3000 ms620.3 ms616.1 ms648.0 ms1.010.02----
benchmarkLU2.1.NET Core 2.1647.9 ms3.8604 ms3.0140 ms646.9 ms645.9 ms657.1 ms1.000.00----
benchmarkLU2.22.2648.1 ms4.5366 ms3.5419 ms647.2 ms645.8 ms659.2 ms1.000.01----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

SeekUnroll

No significant difference.

MethodJobToolchainboxedIndexMeanErrorStdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
SeekUnroll2.1.NET Core 2.11763.6 ms14.3596 ms13.4320 ms758.4 ms757.7 ms798.7 ms1.000.00---56 B
SeekUnroll2.22.21758.4 ms0.7939 ms0.6198 ms758.3 ms757.7 ms759.7 ms0.990.02---56 B
SeekUnroll2.1.NET Core 2.13758.2 ms0.3790 ms0.3165 ms758.2 ms757.6 ms758.8 ms1.000.00---56 B
SeekUnroll2.22.23767.9 ms18.3982 ms18.0695 ms758.5 ms757.7 ms809.6 ms1.010.03---56 B
SeekUnroll2.1.NET Core 2.1111,137.8 ms1.3062 ms1.1579 ms1,137.3 ms1,136.7 ms1,140.4 ms1.000.00---56 B
SeekUnroll2.22.2111,137.8 ms1.1972 ms0.9347 ms1,137.6 ms1,137.0 ms1,140.0 ms1.000.00---56 B
SeekUnroll2.1.NET Core 2.1191,391.9 ms4.0332 ms3.5753 ms1,390.0 ms1,389.2 ms1,401.5 ms1.000.00---56 B
SeekUnroll2.22.2191,414.8 ms22.2200 ms20.7846 ms1,426.4 ms1,389.3 ms1,438.2 ms1.020.01---56 B
SeekUnroll2.1.NET Core 2.1271,707.4 ms5.3746 ms4.7645 ms1,708.0 ms1,698.1 ms1,716.7 ms1.000.00---56 B
SeekUnroll2.22.2271,777.3 ms4.9080 ms4.3509 ms1,775.3 ms1,772.2 ms1,786.6 ms1.040.00---56 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

DelegatePerf

No significant difference. DelegateInvoke difference gone after re-run.

MethodJobToolchainUnrollFactorlength Mean ErrorStdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
DelegateInvoke2.1.NET Core 2.116?413.5 us8.400 us9.337 us405.7 us404.3 us424.1 us1.000.00----
DelegateInvoke2.22.216?364.3 us9.255 us10.287 us370.5 us354.0 us391.4 us0.880.02----
MulticastDelegateCombineInvoke2.1.NET Core 2.11?182,194.7 us3,344.690 us2,792.967 us183,183.5 us175,163.8 us183,739.4 us1.000.0063000.00008000.0000-400919904 B
MulticastDelegateCombineInvoke2.22.21?178,212.3 us5,009.567 us5,360.180 us179,425.7 us171,726.7 us190,971.4 us0.990.0263000.00008000.0000-400919904 B
MulticastDelegateInvoke2.1.NET Core 2.1161004,037.5 us113.324 us121.255 us4,055.4 us3,872.7 us4,289.5 us1.000.00----
MulticastDelegateInvoke2.22.2161004,226.3 us86.151 us95.756 us4,303.8 us4,113.0 us4,307.5 us1.050.03----
MulticastDelegateInvoke2.1.NET Core 2.116100037,872.6 us1,494.109 us1,660.698 us38,025.3 us33,593.4 us39,477.9 us1.000.00----
MulticastDelegateInvoke2.22.216100041,614.0 us1,676.632 us1,930.812 us42,399.4 us38,005.7 us45,372.3 us1.100.08----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

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
MethodJobToolchaincolorMeanErrorStdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
ObjectGetType2.1.NET Core 2.1?0.9620 ns0.0149 ns0.0124 ns0.9610 ns0.9464 ns0.9868 ns1.000.00----
ObjectGetType2.22.2?1.3916 ns0.0096 ns0.0090 ns1.3916 ns1.3741 ns1.4054 ns1.450.02----
ObjectGetTypeNoBoxing2.1.NET Core 2.1?0.7657 ns0.0052 ns0.0049 ns0.7639 ns0.7582 ns0.7763 ns1.000.00----
ObjectGetTypeNoBoxing2.22.2?1.5007 ns0.0107 ns0.0100 ns1.5031 ns1.4823 ns1.5219 ns1.960.02----
EnumEquals2.1.NET Core 2.1?8.6052 ns0.2555 ns0.2133 ns8.5222 ns8.5077 ns9.1923 ns1.000.000.0076--48 B
EnumEquals2.22.2?8.4816 ns0.2480 ns0.2757 ns8.3394 ns8.2821 ns9.1734 ns0.990.040.0076--48 B
EnumCompareTo2.1.NET Core 2.1Red12.5483 ns0.2836 ns0.2653 ns12.4188 ns12.3951 ns13.1052 ns1.000.000.0076--48 B
EnumCompareTo2.22.2Red11.9561 ns0.2607 ns0.2677 ns11.7954 ns11.7528 ns12.3855 ns0.950.020.0076--48 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

LowLevelPerf

No significant difference. Difference visible in the results below gone after re-run.

MethodJobToolchain MeanErrorStdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
EmptyStaticFunction2.1.NET Core 2.12,661.76 us70.8146 us81.5502 us2,680.07 us2,557.01 us2,811.95 us1.000.00----
EmptyStaticFunction2.22.22,411.15 us51.5451 us57.2922 us2,399.69 us2,351.80 us2,524.52 us0.900.03----
EmptyStaticFunction5Arg2.1.NET Core 2.12,643.25 us67.4164 us77.6369 us2,661.27 us2,554.79 us2,852.98 us1.000.00----
EmptyStaticFunction5Arg2.22.22,867.78 us57.2974 us63.6859 us2,914.06 us2,787.11 us2,930.05 us1.080.02----
EmptyInstanceFunction2.1.NET Core 2.11,558.70 us38.4239 us44.2490 us1,554.57 us1,515.80 us1,657.62 us1.000.00----
EmptyInstanceFunction2.22.21,561.63 us43.0819 us47.8854 us1,558.68 us1,517.72 us1,685.65 us1.000.01----
InterfaceInterfaceMethod2.1.NET Core 2.13,099.60 us73.3414 us78.4745 us3,053.16 us3,028.70 us3,292.59 us1.000.00----
InterfaceInterfaceMethod2.22.23,250.45 us89.1740 us99.1166 us3,179.92 us3,163.10 us3,471.77 us1.050.02----
InterfaceInterfaceMethodLongHierarchy2.1.NET Core 2.1317.75 us0.2106 us0.1759 us317.81 us317.42 us317.97 us1.000.00----
InterfaceInterfaceMethodLongHierarchy2.22.2316.72 us4.1892 us3.7136 us317.65 us303.83 us318.06 us1.000.00----
InterfaceInterfaceMethodSwitchCallType2.1.NET Core 2.1708.79 us0.9588 us0.8006 us708.55 us707.76 us709.99 us1.000.00----
InterfaceInterfaceMethodSwitchCallType2.22.2734.73 us23.1143 us26.6185 us740.97 us707.63 us786.79 us1.060.03----
ClassVirtualMethod2.1.NET Core 2.1156.02 us4.4940 us4.9951 us152.60 us151.69 us168.28 us1.000.00----
ClassVirtualMethod2.22.2154.98 us3.3762 us3.7526 us152.09 us151.53 us161.50 us0.990.02----
SealedClassInterfaceMethod2.1.NET Core 2.1157.98 us0.1369 us0.1280 us157.97 us157.77 us158.27 us1.000.00----
SealedClassInterfaceMethod2.22.2158.82 us0.0782 us0.0693 us158.82 us158.73 us158.94 us1.010.00----
StructWithInterfaceInterfaceMethod2.1.NET Core 2.1156.07 us3.1943 us3.5505 us158.89 us151.77 us159.25 us1.000.00----
StructWithInterfaceInterfaceMethod2.22.2156.15 us3.8558 us4.4403 us158.77 us151.65 us167.67 us1.000.01----
StaticIntPlus2.1.NET Core 2.1156.73 us3.9395 us4.2152 us158.82 us151.73 us166.52 us1.000.00----
StaticIntPlus2.22.2155.25 us4.3536 us5.0137 us151.95 us151.62 us169.04 us0.990.03----
ObjectStringIsString2.1.NET Core 2.166.32 us2.9444 us3.1504 us66.24 us63.21 us74.03 us1.000.00----
ObjectStringIsString2.22.265.48 us1.8411 us1.9699 us65.44 us63.58 us70.39 us0.990.04----
NewDelegateClassEmptyInstanceFn2.1.NET Core 2.1642.92 us14.2299 us15.8165 us648.98 us625.35 us676.99 us1.000.001015.6250--6400000 B
NewDelegateClassEmptyInstanceFn2.22.2635.61 us12.1742 us10.7921 us638.87 us622.34 us647.10 us0.980.021015.0000--6400000 B
NewDelegateClassEmptyStaticFn2.1.NET Core 2.1635.97 us12.3206 us10.9219 us643.76 us621.00 us644.86 us1.000.001015.0000--6400000 B
NewDelegateClassEmptyStaticFn2.22.2641.04 us17.6808 us19.6522 us656.22 us612.89 us666.21 us1.020.011015.0000--6400000 B
InstanceDelegate2.1.NET Core 2.1217.11 us6.7946 us7.8247 us218.40 us208.38 us234.01 us1.000.00----
InstanceDelegate2.22.2181.33 us4.9229 us5.4718 us177.48 us176.92 us195.73 us0.830.03----
StaticDelegate2.1.NET Core 2.1389.19 us8.1162 us9.0211 us396.97 us379.22 us398.42 us1.000.00----
StaticDelegate2.22.2370.21 us4.9793 us3.8875 us371.28 us357.87 us371.71 us0.940.01----
MeasureEvents2.1.NET Core 2.118,662.16 us546.4038 us607.3263 us18,921.19 us17,825.63 us19,602.21 us1.000.00----
MeasureEvents2.22.218,672.81 us567.9174 us607.6653 us18,605.70 us18,023.30 us19,955.83 us1.000.03----
GenericClassWithIntGenericInstanceField2.1.NET Core 2.143.68 us1.4881 us1.5282 us43.15 us42.23 us47.85 us1.000.00----
GenericClassWithIntGenericInstanceField2.22.242.81 us0.8955 us0.9582 us42.28 us42.15 us44.94 us0.980.03----
GenericClassGenericStaticField2.1.NET Core 2.134.86 us1.0620 us1.2230 us35.13 us33.43 us37.70 us1.000.00----
GenericClassGenericStaticField2.22.234.66 us1.0079 us1.1202 us35.10 us33.41 us36.32 us0.990.03----
GenericClassGenericInstanceMethod2.1.NET Core 2.1154.21 us3.1827 us3.5376 us157.15 us149.92 us157.80 us1.000.00----
GenericClassGenericInstanceMethod2.22.2155.69 us4.5845 us4.9053 us152.07 us151.64 us167.87 us1.010.02----
GenericClassGenericStaticMethod2.1.NET Core 2.1209.95 us4.1349 us3.6655 us211.83 us202.31 us212.10 us1.000.00----
GenericClassGenericStaticMethod2.22.2212.03 us0.2753 us0.2299 us211.93 us211.80 us212.54 us1.010.02----
GenericGenericMethod2.1.NET Core 2.1263.90 us3.9348 us3.2858 us264.77 us252.96 us264.95 us1.000.00----
GenericGenericMethod2.22.2289.99 us2.5113 us2.2262 us291.21 us285.51 us291.47 us1.100.01----
GenericClassWithSTringGenericInstanceMethod2.1.NET Core 2.1170.50 us5.5160 us6.3522 us167.55 us163.49 us187.21 us1.000.00----
GenericClassWithSTringGenericInstanceMethod2.22.2185.48 us0.1972 us0.1540 us185.47 us185.24 us185.74 us1.070.04----
ForeachOverList100Elements2.1.NET Core 2.121,663.45 us520.4947 us486.8710 us21,584.60 us20,590.14 us22,788.34 us1.000.00----
ForeachOverList100Elements2.22.221,001.06 us436.2118 us484.8482 us21,432.84 us20,467.21 us21,469.45 us0.980.03----
TypeReflectionObjectGetType2.1.NET Core 2.1154.13 us3.1825 us3.2682 us152.15 us151.67 us159.06 us1.000.00----
TypeReflectionObjectGetType2.22.2154.14 us4.0752 us4.3604 us151.86 us151.66 us167.73 us1.000.02----
TypeReflectionArrayGetType2.1.NET Core 2.1158.93 us0.1499 us0.1252 us158.91 us158.82 us159.29 us1.000.00----
TypeReflectionArrayGetType2.22.2158.90 us0.0947 us0.0791 us158.91 us158.77 us159.03 us1.000.00----
IntegerFormatting2.1.NET Core 2.13,038.65 us80.3508 us85.9745 us3,031.51 us2,958.16 us3,255.73 us1.000.00750.0000--4800000 B
IntegerFormatting2.22.23,094.05 us74.1885 us82.4603 us3,147.52 us3,009.44 us3,289.82 us1.020.03750.0000--4800000 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

SIMD.ConsoleMandel

No significant difference.

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
VectorFloatSinglethreadRawNoInt2.12.1162.6 ms0.3009 ms0.2513 ms162.6 ms162.1 ms163.0 ms1.00---205.92 KB
VectorFloatSinglethreadRawNoInt2.22.2158.2 ms0.2463 ms0.2056 ms158.1 ms157.9 ms158.7 ms0.97---205.92 KB
VectorFloatSinglethreadADTNoInt2.12.1348.3 ms0.7450 ms0.5817 ms348.0 ms347.9 ms349.6 ms1.00---205.92 KB
VectorFloatSinglethreadADTNoInt2.22.2341.7 ms0.5721 ms0.4777 ms341.6 ms341.0 ms342.9 ms0.98---205.92 KB

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

SIMD.RayTracerBench

MethodJobToolchainMeanErrorStdDevMedianMinMaxRatioGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
RayTracerBench2.1.NET Core 2.1516.7 ms0.7693 ms0.6820 ms516.5 ms516.0 ms518.6 ms1.0012000.0000--74.81 MB
RayTracerBench2.22.2519.3 ms0.5290 ms0.4418 ms519.4 ms518.8 ms520.0 ms1.0112000.0000--74.82 MB

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

Span.IndexerBench

No significant difference.

MethodJobToolchainlengthMeanErrorStdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Ref2.1.NET Core 2.11024399.3 ns0.7736 ns0.6040 ns399.2 ns398.5 ns400.3 ns1.000.00----
Ref2.22.21024406.9 ns11.8305 ns13.6240 ns399.2 ns398.4 ns443.7 ns1.030.04----
Fixed12.1.NET Core 2.11024408.0 ns12.1888 ns13.0419 ns401.6 ns400.2 ns443.8 ns1.000.00----
Fixed12.22.21024420.1 ns18.0341 ns20.7680 ns420.2 ns401.3 ns461.3 ns1.030.05----
Fixed22.1.NET Core 2.11024406.6 ns9.8938 ns10.1602 ns401.3 ns400.1 ns429.5 ns1.000.00----
Fixed22.22.21024407.1 ns9.0841 ns10.0970 ns401.7 ns400.7 ns427.2 ns1.000.02----
Indexer12.1.NET Core 2.11024405.9 ns8.6466 ns9.6107 ns401.1 ns400.1 ns430.1 ns1.000.00----
Indexer12.22.21024407.5 ns12.0688 ns12.3937 ns401.2 ns400.3 ns443.2 ns1.000.01----
Indexer22.1.NET Core 2.11024405.5 ns8.6806 ns9.2882 ns400.1 ns399.3 ns425.4 ns1.000.00----
Indexer22.22.21024406.0 ns7.9296 ns8.4846 ns401.2 ns399.8 ns420.0 ns1.000.01----
Indexer32.1.NET Core 2.11024412.7 ns9.7190 ns10.8026 ns418.9 ns399.8 ns432.3 ns1.000.00----
Indexer32.22.21024405.0 ns7.6386 ns7.5022 ns401.4 ns400.4 ns420.6 ns0.980.03----
Indexer42.1.NET Core 2.110244,076.9 ns122.5216 ns136.1825 ns4,001.9 ns3,994.5 ns4,374.1 ns1.000.00----
Indexer42.22.210244,103.6 ns122.5145 ns131.0891 ns4,011.3 ns3,993.6 ns4,405.0 ns1.010.04----
Indexer52.1.NET Core 2.11024476.3 ns9.3007 ns9.5512 ns470.9 ns469.7 ns493.2 ns1.000.00----
Indexer52.22.21024479.1 ns10.4185 ns11.5801 ns471.4 ns469.6 ns500.2 ns1.010.02----
Indexer62.1.NET Core 2.11024534.3 ns10.3031 ns11.4518 ns527.2 ns525.6 ns550.8 ns1.000.00----
Indexer62.22.21024540.8 ns15.0879 ns16.1439 ns542.2 ns524.6 ns581.1 ns1.010.03----
ReadOnlyIndexer12.1.NET Core 2.11024412.9 ns12.7451 ns14.1661 ns412.7 ns399.9 ns444.2 ns1.000.00----
ReadOnlyIndexer12.22.21024405.2 ns14.7490 ns12.3161 ns400.6 ns400.1 ns442.5 ns0.970.04----
ReadOnlyIndexer22.1.NET Core 2.11024406.2 ns16.3020 ns13.6129 ns400.7 ns399.8 ns447.2 ns1.000.00----
ReadOnlyIndexer22.22.21024405.9 ns10.2757 ns10.5524 ns401.2 ns400.5 ns432.4 ns1.000.03----
WriteViaIndexer12.1.NET Core 2.110241,584.4 ns38.6692 ns44.5315 ns1,610.1 ns1,537.2 ns1,675.2 ns1.000.00----
WriteViaIndexer12.22.210241,552.4 ns28.7377 ns28.2242 ns1,539.2 ns1,536.6 ns1,609.6 ns0.970.03----
WriteViaIndexer22.1.NET Core 2.11024559.0 ns1.1699 ns0.9134 ns558.8 ns557.6 ns560.6 ns1.000.00----
WriteViaIndexer22.22.21024569.8 ns15.9828 ns17.1014 ns559.3 ns557.4 ns611.0 ns1.030.03----
KnownSizeArray2.1.NET Core 2.11024415.9 ns16.2693 ns18.7358 ns410.3 ns400.1 ns469.1 ns1.000.00----
KnownSizeArray2.22.21024411.6 ns11.8053 ns13.1216 ns402.2 ns400.7 ns444.3 ns0.990.04----
KnownSizeCtor2.1.NET Core 2.11024400.0 ns0.7845 ns0.6954 ns399.8 ns399.2 ns401.7 ns1.000.00----
KnownSizeCtor2.22.21024400.9 ns0.9659 ns0.7541 ns400.6 ns400.1 ns402.4 ns1.000.00----
KnownSizeCtor22.1.NET Core 2.11024418.5 ns12.0149 ns13.8364 ns409.8 ns408.6 ns449.8 ns1.000.00----
KnownSizeCtor22.22.21024426.6 ns5.9146 ns4.9390 ns427.5 ns412.1 ns431.6 ns1.010.04----
SameIndex12.1.NET Core 2.11024674.5 ns16.8034 ns18.6770 ns662.4 ns660.4 ns723.3 ns1.000.00----
SameIndex12.22.21024661.3 ns1.0586 ns0.9384 ns661.0 ns660.4 ns663.3 ns0.970.03----
SameIndex22.1.NET Core 2.11024798.5 ns16.6615 ns18.5192 ns786.5 ns783.7 ns835.4 ns1.000.00----
SameIndex22.22.21024792.2 ns15.1250 ns13.4079 ns785.9 ns784.9 ns822.2 ns0.990.02----
CoveredIndex12.1.NET Core 2.11024954.6 ns23.1154 ns25.6928 ns935.6 ns932.7 ns1,012.5 ns1.000.00----
CoveredIndex12.22.21024952.8 ns22.3200 ns23.8821 ns935.0 ns931.5 ns997.4 ns1.000.01----
CoveredIndex22.1.NET Core 2.11024810.2 ns20.9163 ns23.2484 ns805.8 ns788.6 ns872.2 ns1.000.00----
CoveredIndex22.22.21024795.3 ns9.6344 ns7.5219 ns791.6 ns789.3 ns809.6 ns0.970.03----
CoveredIndex32.1.NET Core 2.110241,049.7 ns1.7903 ns1.3978 ns1,049.2 ns1,048.1 ns1,052.5 ns1.000.00----
CoveredIndex32.22.210241,096.1 ns18.9889 ns16.8332 ns1,102.7 ns1,053.6 ns1,103.2 ns1.050.00----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

Span.Sorting

No significant difference.

MethodToolchainSizeMeanErrorStdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
QuickSortSpan2.15128.742 us0.3933 us0.4039 us8.580 us8.345 us9.712 us1.000.00----
QuickSortSpan2.25128.548 us0.5126 us0.5264 us8.332 us8.153 us10.179 us0.980.08----
BubbleSortSpan2.1512197.910 us4.5473 us5.2366 us195.096 us193.009 us208.401 us1.000.00----
BubbleSortSpan2.2512193.488 us0.5960 us0.4654 us193.343 us193.056 us194.554 us0.980.03----
QuickSortArray2.151211.836 us0.6487 us0.6941 us11.493 us11.273 us13.546 us1.000.00----
QuickSortArray2.251211.178 us0.1831 us0.1624 us11.148 us10.982 us11.572 us0.970.03----
BubbleSortArray2.1512188.900 us0.8851 us0.7391 us188.698 us188.332 us190.996 us1.000.00----
BubbleSortArray2.2512185.806 us4.2433 us3.5433 us184.079 us183.608 us195.741 us0.980.02----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

Collections.Add*

No significant difference.

Type MethodJobToolchainCountSize Mean Error StdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
AddDefaultSize<Int32>List2.12.1512?1,252.3 ns24.498 ns22.915 ns1,240.2 ns1,236.4 ns1,303.8 ns1.000.000.68320.0104-4.21 KB
AddDefaultSize<Int32>List2.22.2512?1,242.7 ns2.744 ns2.432 ns1,242.2 ns1,238.9 ns1,247.0 ns0.990.020.67920.0104-4.21 KB
AddDefaultSize<String>List2.12.1512?2,451.5 ns48.407 ns49.711 ns2,417.8 ns2,412.8 ns2,530.4 ns1.000.001.32420.0303-8.2 KB
AddDefaultSize<String>List2.22.2512?2,431.3 ns10.151 ns7.926 ns2,429.7 ns2,423.0 ns2,453.4 ns0.990.021.32680.0304-8.2 KB
AddDefaultSize<Int32>ICollection2.12.1512?2,062.8 ns57.996 ns59.557 ns2,077.5 ns2,003.9 ns2,227.4 ns1.000.000.67990.0084-4.21 KB
AddDefaultSize<Int32>ICollection2.22.2512?2,046.3 ns62.126 ns71.544 ns2,000.0 ns1,992.9 ns2,218.8 ns1.000.020.67890.0084-4.21 KB
AddDefaultSize<String>ICollection2.12.1512?3,510.6 ns73.446 ns78.587 ns3,568.4 ns3,421.9 ns3,606.3 ns1.000.001.31670.0286-8.2 KB
AddDefaultSize<String>ICollection2.22.2512?3,425.2 ns42.638 ns37.798 ns3,434.6 ns3,294.7 ns3,441.0 ns0.970.021.32360.0276-8.2 KB
AddDefaultSize<Int32>HashSet2.12.1512?11,405.7 ns56.079 ns43.783 ns11,392.2 ns11,358.7 ns11,493.6 ns1.000.004.35280.3785-27.06 KB
AddDefaultSize<Int32>HashSet2.22.2512?11,660.7 ns224.472 ns240.183 ns11,632.2 ns11,383.3 ns11,996.7 ns1.030.024.38260.3811-27.06 KB
AddDefaultSize<String>HashSet2.12.1512?28,337.1 ns614.755 ns657.781 ns27,904.3 ns27,730.8 ns29,415.3 ns1.000.005.35380.5819-33.67 KB
AddDefaultSize<String>HashSet2.22.2512?26,781.1 ns55.774 ns43.544 ns26,779.5 ns26,694.6 ns26,869.4 ns0.940.025.33810.5560-33.67 KB
AddDefaultSize<Int32>Dictionary2.12.1512?11,623.7 ns232.475 ns228.322 ns11,584.4 ns11,381.3 ns12,081.4 ns1.000.005.45750.6644-33.69 KB
AddDefaultSize<Int32>Dictionary2.22.2512?12,008.8 ns51.488 ns42.995 ns12,004.7 ns11,914.4 ns12,092.4 ns1.030.025.46500.6459-33.69 KB
AddDefaultSize<String>Dictionary2.12.1512?28,419.6 ns510.182 ns501.067 ns28,395.1 ns27,576.6 ns29,244.8 ns1.000.007.58271.2638-46.97 KB
AddDefaultSize<String>Dictionary2.22.2512?27,971.1 ns1,132.016 ns1,258.233 ns27,132.5 ns26,922.4 ns30,714.5 ns0.990.057.54501.2387-46.97 KB
AddDefaultSize<Int32>IDictionary2.12.1512?12,813.1 ns362.354 ns402.756 ns12,712.9 ns12,443.4 ns13,815.6 ns1.000.005.43700.6732-33.69 KB
AddDefaultSize<Int32>IDictionary2.22.2512?13,257.4 ns359.727 ns414.262 ns13,029.8 ns12,924.3 ns14,320.4 ns1.040.045.44180.6466-33.69 KB
AddDefaultSize<String>IDictionary2.12.1512?29,710.4 ns628.764 ns645.695 ns30,180.9 ns28,939.0 ns30,379.1 ns1.000.007.50971.2112-46.97 KB
AddDefaultSize<String>IDictionary2.22.2512?29,476.2 ns78.727 ns61.465 ns29,469.3 ns29,415.1 ns29,629.6 ns0.980.027.53301.0593-46.97 KB
AddDefaultSize<Int32>SortedList2.12.1512?62,875.0 ns440.603 ns343.994 ns62,755.0 ns62,483.2 ns63,591.3 ns1.000.001.2500--8.41 KB
AddDefaultSize<Int32>SortedList2.22.2512?61,915.4 ns1,972.291 ns2,110.329 ns60,929.2 ns60,718.0 ns68,075.3 ns0.990.041.0638--8.41 KB
AddDefaultSize<String>SortedList2.12.1512?591,384.5 ns13,452.531 ns15,491.955 ns599,133.0 ns571,304.0 ns625,574.9 ns1.000.00---16.38 KB
AddDefaultSize<String>SortedList2.22.2512?599,001.5 ns17,731.628 ns18,972.643 ns589,931.0 ns582,587.2 ns645,277.8 ns1.010.03---16.38 KB
AddDefaultSize<Int32>SortedSet2.12.1512?43,501.2 ns819.255 ns804.618 ns43,141.3 ns42,963.2 ns45,213.8 ns1.000.003.06200.1801-20.05 KB
AddDefaultSize<Int32>SortedSet2.22.2512?45,265.9 ns1,255.583 ns1,289.392 ns45,844.7 ns43,813.8 ns47,567.3 ns1.040.033.11580.1833-20.05 KB
AddDefaultSize<String>SortedSet2.12.1512?623,872.9 ns37,830.028 ns43,565.117 ns605,149.2 ns588,065.0 ns724,617.6 ns1.000.002.5000--24.05 KB
AddDefaultSize<String>SortedSet2.22.2512?600,243.4 ns34,483.625 ns39,711.394 ns582,846.9 ns555,548.6 ns678,029.4 ns0.960.072.4038--24.05 KB
AddDefaultSize<Int32>SortedDictionary2.12.1512?69,706.4 ns1,943.673 ns2,160.388 ns68,156.7 ns67,888.1 ns75,172.4 ns1.000.003.69320.2841-24.12 KB
AddDefaultSize<Int32>SortedDictionary2.22.2512?69,528.9 ns1,373.207 ns1,217.313 ns68,949.2 ns68,857.9 ns72,485.6 ns0.990.033.74420.2880-24.12 KB
AddDefaultSize<String>SortedDictionary2.12.1512?630,520.3 ns22,935.004 ns24,540.197 ns618,725.2 ns617,591.2 ns690,510.7 ns1.000.002.5000--28.12 KB
AddDefaultSize<String>SortedDictionary2.22.2512?649,476.2 ns7,013.013 ns5,475.299 ns647,665.4 ns646,953.1 ns666,663.2 ns1.020.042.7174--28.12 KB
AddDefaultSize<Int32>ConcurrentBag2.12.1512?15,217.2 ns372.359 ns413.876 ns15,367.0 ns14,744.0 ns16,316.6 ns1.000.001.28680.6127-8.25 KB
AddDefaultSize<Int32>ConcurrentBag2.22.2512?21,043.6 ns579.096 ns619.627 ns21,086.2 ns20,420.9 ns22,736.2 ns1.380.031.28250.5985-8.25 KB
AddDefaultSize<String>ConcurrentBag2.12.1512?20,031.4 ns369.726 ns308.738 ns20,201.4 ns19,474.0 ns20,283.4 ns1.000.002.59071.29530.081016.13 KB
AddDefaultSize<String>ConcurrentBag2.22.2512?19,549.3 ns389.979 ns417.273 ns19,299.5 ns19,136.9 ns20,475.2 ns0.980.022.54271.23030.082016.13 KB
AddDefaultSize<Int32>Queue2.12.1512?2,109.6 ns54.989 ns61.120 ns2,075.0 ns2,068.2 ns2,258.7 ns1.000.000.68030.0087-4.22 KB
AddDefaultSize<Int32>Queue2.22.2512?2,099.5 ns39.524 ns38.818 ns2,082.2 ns2,076.2 ns2,179.0 ns0.990.030.67950.0087-4.22 KB
AddDefaultSize<String>Queue2.12.1512?3,827.9 ns108.057 ns120.105 ns3,746.7 ns3,724.8 ns4,100.9 ns1.000.001.32680.0312-8.2 KB
AddDefaultSize<String>Queue2.22.2512?3,719.3 ns9.427 ns7.872 ns3,717.9 ns3,710.5 ns3,737.3 ns0.960.031.32350.0311-8.2 KB
AddDefaultSize<Int32>Stack2.12.1512?1,392.5 ns34.544 ns36.962 ns1,367.6 ns1,363.9 ns1,484.7 ns1.000.000.67990.0057-4.21 KB
AddDefaultSize<Int32>Stack2.22.2512?1,395.9 ns33.864 ns37.640 ns1,366.8 ns1,362.0 ns1,491.5 ns1.000.030.67840.0057-4.21 KB
AddDefaultSize<String>Stack2.12.1512?3,183.7 ns76.639 ns85.184 ns3,201.7 ns3,065.5 ns3,351.3 ns1.000.001.32920.0383-8.2 KB
AddDefaultSize<String>Stack2.22.2512?3,018.9 ns74.656 ns85.974 ns2,957.7 ns2,942.1 ns3,240.5 ns0.950.031.32220.0371-8.2 KB
AddDefaultSize<Int32>ConcurrentQueue2.12.1512?7,520.7 ns132.861 ns110.945 ns7,564.8 ns7,253.6 ns7,571.1 ns1.000.001.60570.0909-10 KB
AddDefaultSize<Int32>ConcurrentQueue2.22.2512?7,244.1 ns10.858 ns9.625 ns7,240.2 ns7,235.6 ns7,267.6 ns0.960.021.60410.0908-10 KB
AddDefaultSize<String>ConcurrentQueue2.12.1512?8,244.1 ns215.423 ns239.442 ns8,097.9 ns8,085.3 ns8,809.5 ns1.000.002.87910.2588-17.75 KB
AddDefaultSize<String>ConcurrentQueue2.22.2512?8,315.9 ns186.717 ns191.744 ns8,419.3 ns8,065.2 ns8,710.0 ns1.010.022.86390.2695-17.75 KB
AddDefaultSize<Int32>ConcurrentStack2.12.1512?7,073.9 ns130.874 ns116.016 ns7,157.2 ns6,873.0 ns7,172.8 ns1.000.002.58500.2298-16.02 KB
AddDefaultSize<Int32>ConcurrentStack2.22.2512?6,991.0 ns136.639 ns140.318 ns6,904.6 ns6,882.5 ns7,207.3 ns0.990.012.58980.2302-16.02 KB
AddDefaultSize<String>ConcurrentStack2.12.1512?16,769.8 ns323.276 ns286.576 ns16,882.5 ns16,131.9 ns16,984.8 ns1.000.002.56760.2027-16.02 KB
AddDefaultSize<String>ConcurrentStack2.22.2512?15,927.3 ns301.798 ns282.302 ns15,773.9 ns15,733.5 ns16,508.0 ns0.950.022.55380.2016-16.02 KB
AddDefaultSize<Int32>ConcurrentDictionary2.12.1512?67,656.3 ns3,556.545 ns4,095.723 ns64,927.6 ns64,451.4 ns78,351.1 ns1.000.0019.39665.6573-121.06 KB
AddDefaultSize<Int32>ConcurrentDictionary2.22.2512?67,278.1 ns1,812.860 ns1,939.740 ns67,967.6 ns65,054.2 ns71,493.5 ns0.990.0419.56525.7065-121.06 KB
AddDefaultSize<String>ConcurrentDictionary2.12.1512?120,612.3 ns1,096.777 ns856.291 ns120,810.8 ns117,930.9 ns121,125.7 ns1.000.0020.83336.7829-130.14 KB
AddDefaultSize<String>ConcurrentDictionary2.22.2512?122,371.1 ns3,629.895 ns4,034.619 ns123,273.6 ns117,834.9 ns131,109.3 ns1.040.0321.16146.8898-132.16 KB
AddGivenSize<Int32>List2.12.1?512947.5 ns17.956 ns16.796 ns938.3 ns934.9 ns977.7 ns1.000.000.33280.0039-2.06 KB
AddGivenSize<Int32>List2.22.2?512942.8 ns23.640 ns20.956 ns933.5 ns928.6 ns994.0 ns0.990.010.33250.0039-2.06 KB
AddGivenSize<String>List2.12.1?5121,819.7 ns46.045 ns53.026 ns1,782.5 ns1,775.3 ns1,972.7 ns1.000.000.65330.0148-4.06 KB
AddGivenSize<String>List2.22.2?5121,788.9 ns3.500 ns2.922 ns1,788.1 ns1,784.1 ns1,793.9 ns0.970.030.65720.0149-4.06 KB
AddGivenSize<Int32>ICollection2.12.1?5121,706.9 ns49.715 ns57.252 ns1,738.9 ns1,637.5 ns1,839.4 ns1.000.000.3279--2.06 KB
AddGivenSize<Int32>ICollection2.22.2?5121,720.1 ns50.782 ns54.337 ns1,745.3 ns1,666.0 ns1,862.7 ns1.000.030.3292--2.06 KB
AddGivenSize<String>ICollection2.12.1?5122,907.6 ns85.310 ns91.281 ns2,922.2 ns2,817.2 ns3,128.8 ns1.000.000.65010.0118-4.06 KB
AddGivenSize<String>ICollection2.22.2?5122,780.5 ns86.322 ns92.363 ns2,716.0 ns2,702.4 ns2,956.5 ns0.960.030.65660.0113-4.06 KB
AddGivenSize<Int32>HashSet2.12.1?5127,030.0 ns180.965 ns185.838 ns6,963.4 ns6,908.5 ns7,571.1 ns1.000.001.31300.0584-8.26 KB
AddGivenSize<Int32>HashSet2.22.2?5127,038.8 ns27.345 ns21.349 ns7,043.0 ns7,004.5 ns7,077.0 ns1.000.031.32230.0588-8.26 KB
AddGivenSize<String>HashSet2.12.1?51222,977.7 ns385.635 ns322.023 ns22,858.0 ns22,782.5 ns23,961.0 ns1.000.001.61970.0953-10.29 KB
AddGivenSize<String>HashSet2.22.2?51222,853.0 ns236.880 ns184.940 ns22,781.4 ns22,675.9 ns23,226.1 ns0.990.011.56250.0919-10.29 KB
AddGivenSize<Int32>Dictionary2.12.1?5127,029.2 ns135.127 ns144.585 ns6,955.7 ns6,871.1 ns7,268.5 ns1.000.001.65160.0869-10.3 KB
AddGivenSize<Int32>Dictionary2.22.2?5127,311.8 ns172.923 ns192.204 ns7,370.6 ns7,090.2 ns7,813.1 ns1.040.031.64080.0895-10.3 KB
AddGivenSize<String>Dictionary2.12.1?51221,600.1 ns609.169 ns677.090 ns21,136.8 ns20,998.0 ns23,538.2 ns1.000.002.27910.1753-14.38 KB
AddGivenSize<String>Dictionary2.22.2?51221,438.8 ns456.862 ns469.163 ns21,141.2 ns20,885.2 ns21,987.4 ns0.990.022.22580.1781-14.38 KB
AddGivenSize<Int32>IDictionary2.12.1?5128,115.3 ns242.450 ns269.483 ns7,980.7 ns7,886.5 ns8,779.3 ns1.000.001.65960.0996-10.3 KB
AddGivenSize<Int32>IDictionary2.22.2?5128,059.3 ns27.242 ns21.269 ns8,056.6 ns8,025.3 ns8,094.0 ns0.980.041.65270.1012-10.3 KB
AddGivenSize<String>IDictionary2.12.1?51222,619.3 ns111.060 ns92.740 ns22,620.3 ns22,475.4 ns22,799.9 ns1.000.002.25900.1883-14.38 KB
AddGivenSize<String>IDictionary2.22.2?51222,911.5 ns643.061 ns714.761 ns22,636.6 ns22,260.1 ns24,817.9 ns1.020.032.26240.1885-14.38 KB
AddGivenSize<Int32>SortedList2.12.1?51261,126.8 ns1,357.158 ns1,508.477 ns62,095.4 ns59,284.6 ns63,117.4 ns1.000.000.4960--4.12 KB
AddGivenSize<Int32>SortedList2.22.2?51262,051.8 ns2,025.920 ns2,251.805 ns62,598.7 ns59,635.3 ns66,133.3 ns1.020.020.5000--4.12 KB
AddGivenSize<String>SortedList2.12.1?512582,889.7 ns19,288.298 ns22,212.432 ns567,721.7 ns564,362.5 ns633,275.1 ns1.000.00---8.12 KB
AddGivenSize<String>SortedList2.22.2?512571,862.0 ns15,103.078 ns16,787.031 ns559,448.9 ns556,935.1 ns616,871.6 ns0.980.04---8.12 KB
AddGivenSize<Int32>Queue2.12.1?5121,928.2 ns50.059 ns46.825 ns1,926.6 ns1,847.3 ns2,029.7 ns1.000.000.3347--2.07 KB
AddGivenSize<Int32>Queue2.22.2?5121,717.0 ns37.759 ns40.402 ns1,694.3 ns1,689.7 ns1,800.4 ns0.890.030.3337--2.07 KB
AddGivenSize<String>Queue2.12.1?5123,197.3 ns91.561 ns105.442 ns3,126.8 ns3,108.0 ns3,459.3 ns1.000.000.65120.0130-4.07 KB
AddGivenSize<String>Queue2.22.2?5123,057.6 ns60.838 ns67.621 ns3,090.6 ns2,966.5 ns3,180.9 ns0.960.020.65280.0128-4.07 KB
AddGivenSize<Int32>Stack2.12.1?5121,031.9 ns2.457 ns1.918 ns1,031.2 ns1,029.4 ns1,035.5 ns1.000.000.33310.0043-2.06 KB
AddGivenSize<Int32>Stack2.22.2?5121,062.8 ns25.628 ns28.486 ns1,077.7 ns1,031.2 ns1,133.0 ns1.050.020.33390.0043-2.06 KB
AddGivenSize<String>Stack2.12.1?5122,536.3 ns66.670 ns74.104 ns2,572.3 ns2,455.7 ns2,733.5 ns1.000.000.64870.0103-4.06 KB
AddGivenSize<String>Stack2.22.2?5122,238.9 ns41.733 ns36.995 ns2,221.3 ns2,213.3 ns2,321.6 ns0.870.030.65740.0093-4.06 KB
AddGivenSize<Int32>ConcurrentDictionary2.12.1?51231,900.5 ns736.965 ns788.545 ns31,332.0 ns31,194.7 ns33,739.2 ns1.000.008.08981.5658-50.62 KB
AddGivenSize<Int32>ConcurrentDictionary2.22.2?51232,127.1 ns841.738 ns935.589 ns31,882.7 ns31,250.9 ns34,094.8 ns1.010.028.10671.5690-50.62 KB
AddGivenSize<String>ConcurrentDictionary2.12.1?51276,532.7 ns1,508.322 ns1,259.518 ns75,972.3 ns75,786.1 ns79,369.5 ns1.000.009.20051.5863-58.54 KB
AddGivenSize<String>ConcurrentDictionary2.22.2?51277,718.2 ns416.957 ns348.178 ns77,595.4 ns77,403.9 ns78,552.9 ns1.020.029.28221.8564-58.3 KB

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

Collections.Clear*

No significant difference. However, the benchmarks could have been more stable.

Int32
MethodToolchainSize MeanErrorStdDev Median Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Array.NET Core 2.1512204.5334 ns55.6395 ns64.0745 ns242.0815 ns109.0807 ns257.0495 ns1.000.00----
Array2.2512109.8409 ns0.1709 ns0.1598 ns109.7839 ns109.4988 ns110.0690 ns0.490.15----
Span.NET Core 2.1512186.8142 ns57.4237 ns66.1292 ns230.3068 ns109.1377 ns297.5912 ns1.000.00----
Span2.2512107.0754 ns1.0269 ns0.9606 ns107.3415 ns104.4905 ns107.9117 ns0.730.27----
List.NET Core 2.15120.7533 ns1.3551 ns1.5062 ns0.0000 ns0.0000 ns4.0057 ns??----
List2.25120.9501 ns0.0922 ns0.0947 ns0.9836 ns0.6985 ns0.9836 ns??----
LinkedList.NET Core 2.15122,641.7750 ns29.5587 ns24.6829 ns2,633.3316 ns2,626.4891 ns2,709.1692 ns1.000.00----
LinkedList2.25122,809.9676 ns132.8861 ns153.0318 ns2,755.2277 ns2,662.8541 ns3,208.2574 ns1.090.06----
HashSet.NET Core 2.1512640.5567 ns120.5432 ns138.8177 ns595.6101 ns470.8772 ns894.2562 ns1.000.00----
HashSet2.2512658.7178 ns187.9358 ns216.4271 ns595.5958 ns431.2336 ns1,293.6722 ns1.060.36----
Dictionary.NET Core 2.1512817.2212 ns156.7017 ns180.4580 ns766.2589 ns616.4369 ns1,150.7212 ns1.000.00----
Dictionary2.2512774.1135 ns118.8892 ns136.9130 ns744.1206 ns609.4091 ns1,050.4645 ns1.000.30----
SortedList.NET Core 2.15121.3828 ns0.1212 ns0.1395 ns1.2830 ns1.2830 ns1.5681 ns1.000.00----
SortedList2.25120.4229 ns0.2285 ns0.2445 ns0.4704 ns0.1853 ns0.7555 ns0.310.19----
SortedSet.NET Core 2.15125.3787 ns0.2271 ns0.2524 ns5.2887 ns5.0036 ns5.8589 ns1.000.00----
SortedSet2.25125.5595 ns0.2768 ns0.3188 ns5.4883 ns5.2031 ns6.0585 ns1.040.07----
SortedDictionary.NET Core 2.151214.8314 ns0.7989 ns0.8880 ns14.7114 ns13.2858 ns16.4220 ns1.000.00----
SortedDictionary2.251216.3935 ns1.0773 ns1.2406 ns16.3222 ns14.1839 ns18.7456 ns1.100.11----
ConcurrentDictionary.NET Core 2.151226,598.1812 ns238.6552 ns211.5617 ns26,628.1986 ns26,101.4695 ns26,961.6273 ns1.000.001.0000--6480 B
ConcurrentDictionary2.251226,641.1576 ns257.6274 ns215.1305 ns26,684.1644 ns26,168.4119 ns26,861.7840 ns1.000.011.0000--6480 B
Stack.NET Core 2.15121.3064 ns0.0922 ns0.0947 ns1.3400 ns1.0549 ns1.3400 ns1.000.00----
Stack2.25121.5788 ns0.0726 ns0.0713 ns1.5966 ns1.3115 ns1.5966 ns1.220.13----
ConcurrentStack.NET Core 2.15122.3949 ns0.2949 ns0.3396 ns2.3806 ns1.8104 ns2.9508 ns1.000.00----
ConcurrentStack2.25122.6245 ns0.1437 ns0.1538 ns2.6087 ns2.3236 ns2.8938 ns1.110.15----
Queue.NET Core 2.15121.5966 ns0.0000 ns0.0000 ns1.5966 ns1.5966 ns1.5966 ns1.000.00----
Queue2.25122.0745 ns1.2073 ns1.3419 ns1.0691 ns1.0691 ns4.2053 ns1.520.88----
ConcurrentQueue.NET Core 2.1512298.3367 ns17.4210 ns20.0621 ns299.7194 ns270.7814 ns325.8064 ns1.000.00---704 B
ConcurrentQueue2.2512318.6960 ns8.4387 ns8.2879 ns315.8806 ns308.3254 ns334.2698 ns1.060.07---704 B

String

MethodToolchainSize MeanErrorStdDev Median Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Array.NET Core 2.1512218.364 ns4.1969 ns3.5046 ns219.373 ns214.241 ns225.645 ns1.000.00----
Array2.2512227.655 ns7.2878 ns7.1576 ns226.372 ns219.387 ns242.196 ns1.050.03----
Span.NET Core 2.1512228.259 ns1.4342 ns1.1197 ns227.926 ns227.356 ns231.062 ns1.000.00----
Span2.2512228.632 ns3.0648 ns2.5592 ns227.185 ns226.615 ns233.742 ns1.000.01----
List.NET Core 2.1512228.382 ns10.8513 ns11.6108 ns221.112 ns219.687 ns260.171 ns1.000.00----
List2.2512259.128 ns50.4696 ns54.0019 ns245.759 ns217.819 ns391.447 ns1.130.21----
LinkedList.NET Core 2.15122,694.628 ns17.2280 ns14.3861 ns2,688.114 ns2,677.280 ns2,718.620 ns1.000.00----
LinkedList2.25122,687.173 ns17.5356 ns16.4028 ns2,680.958 ns2,671.550 ns2,728.000 ns1.000.01----
HashSet.NET Core 2.1512941.398 ns63.1016 ns72.6679 ns935.725 ns842.638 ns1,089.253 ns1.000.00----
HashSet2.25121,000.407 ns36.6529 ns37.6398 ns997.891 ns914.356 ns1,080.857 ns1.070.09----
Dictionary.NET Core 2.15121,589.225 ns101.9981 ns117.4611 ns1,611.349 ns1,401.655 ns1,815.911 ns1.000.00----
Dictionary2.25121,432.891 ns65.2260 ns72.4986 ns1,397.208 ns1,370.408 ns1,602.767 ns0.900.06----
SortedList.NET Core 2.1512387.181 ns6.6278 ns5.8754 ns384.248 ns381.683 ns397.363 ns1.000.00----
SortedList2.2512390.072 ns7.6882 ns6.4200 ns386.277 ns383.997 ns399.392 ns1.010.01----
SortedSet.NET Core 2.15126.144 ns0.2396 ns0.2760 ns6.172 ns5.602 ns6.743 ns1.000.00----
SortedSet2.25126.294 ns0.1797 ns0.1765 ns6.401 ns5.830 ns6.401 ns1.020.05----
SortedDictionary.NET Core 2.151216.080 ns0.6787 ns0.7816 ns16.108 ns13.970 ns17.391 ns1.000.00----
SortedDictionary2.251215.577 ns0.5323 ns0.5228 ns15.524 ns14.383 ns16.379 ns0.970.07----
ConcurrentDictionary.NET Core 2.151228,788.367 ns170.2397 ns132.9119 ns28,746.718 ns28,632.962 ns29,007.018 ns1.000.001.0000--6480 B
ConcurrentDictionary2.251229,342.058 ns155.1345 ns129.5443 ns29,282.471 ns29,178.693 ns29,563.013 ns1.020.011.0000--6480 B
Stack.NET Core 2.1512208.851 ns13.3524 ns14.8412 ns203.749 ns196.052 ns252.217 ns1.000.00----
Stack2.2512223.218 ns25.6060 ns25.1486 ns213.828 ns206.415 ns308.197 ns1.060.16----
ConcurrentStack.NET Core 2.15122.442 ns0.2044 ns0.2187 ns2.537 ns1.967 ns2.823 ns1.000.00----
ConcurrentStack2.25122.609 ns0.2032 ns0.2340 ns2.637 ns2.210 ns3.065 ns1.090.13----
Queue.NET Core 2.1512347.385 ns146.6287 ns168.8578 ns249.366 ns227.128 ns629.694 ns1.000.00----
Queue2.2512229.405 ns6.6657 ns6.5466 ns227.570 ns223.721 ns249.665 ns0.800.23----
ConcurrentQueue.NET Core 2.1512490.423 ns9.1861 ns7.6708 ns492.331 ns474.085 ns500.599 ns1.000.00---960 B
ConcurrentQueue2.2512496.028 ns4.2382 ns3.3089 ns497.121 ns487.142 ns499.687 ns1.010.02---960 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.Collections.Concurrent*

No significant difference.

System.Collections.Concurrent.Count<String>.Dictionary is multimodal. The results below show one of it's modes.

Type MethodJobToolchainMaxWarmupIterationCountMinWarmupIterationCountUnrollFactorWarmupCountSize Mean Error StdDev Median Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Count<Int32>Dictionary2.12.1DefaultDefault16151212,380.2105 ns504.5618 ns539.8755 ns12,063.2490 ns12,041.3777 ns13,879.4916 ns1.000.00----
Count<Int32>Dictionary2.22.2DefaultDefault16151212,699.6088 ns356.1290 ns381.0540 ns12,826.3686 ns12,245.4319 ns13,544.4486 ns1.030.04----
Count<String>Dictionary2.12.1DefaultDefault1615126,903.2086 ns172.1325 ns198.2281 ns6,775.0899 ns6,734.9068 ns7,459.9552 ns1.000.00----
Count<String>Dictionary2.22.2DefaultDefault1615123,418.2066 ns99.6492 ns110.7599 ns3,359.9069 ns3,353.2659 ns3,747.1591 ns0.490.02----
IsEmpty<Int32>Dictionary2.12.1DefaultDefault16151211,677.2617 ns306.4738 ns340.6448 ns11,416.0372 ns11,388.6966 ns12,596.4698 ns1.000.00----
IsEmpty<Int32>Dictionary2.22.2DefaultDefault16151211,701.9119 ns291.3974 ns323.8875 ns11,441.6861 ns11,394.8227 ns12,289.8450 ns1.000.01----
IsEmpty<String>Dictionary2.12.1DefaultDefault16151212,790.4982 ns242.0940 ns259.0379 ns12,652.7767 ns12,593.2048 ns13,296.2282 ns1.000.00----
IsEmpty<String>Dictionary2.22.2DefaultDefault16151213,038.6756 ns323.6278 ns359.7114 ns13,210.8137 ns12,634.5203 ns13,762.7478 ns1.020.03----
Count<Int32>Queue2.12.1DefaultDefault16151211.5915 ns0.3543 ns0.3938 ns11.3342 ns11.2878 ns12.6364 ns1.000.00----
Count<Int32>Queue2.22.2DefaultDefault16151211.5035 ns0.0169 ns0.0150 ns11.5010 ns11.4848 ns11.5303 ns0.980.03----
Count<String>Queue2.12.1DefaultDefault16151212.5386 ns0.3243 ns0.3470 ns12.3504 ns12.3287 ns13.4825 ns1.000.00----
Count<String>Queue2.22.2DefaultDefault16151212.3661 ns0.3404 ns0.3642 ns12.1692 ns12.1369 ns13.4800 ns0.990.03----
IsEmpty<Int32>Queue2.12.1DefaultDefault1615124.8164 ns0.1213 ns0.1075 ns4.7637 ns4.7476 ns5.0493 ns1.000.00----
IsEmpty<Int32>Queue2.22.2DefaultDefault1615124.9455 ns0.0268 ns0.0210 ns4.9377 ns4.9272 ns5.0048 ns1.030.02----
IsEmpty<String>Queue2.12.1DefaultDefault1615126.9295 ns0.0545 ns0.0425 ns6.9227 ns6.8822 ns7.0114 ns1.000.00----
IsEmpty<String>Queue2.22.2DefaultDefault1615126.5996 ns0.0365 ns0.0342 ns6.6033 ns6.5255 ns6.6484 ns0.950.01----
Count<Int32>Stack2.12.1DefaultDefault161512555.3869 ns36.7609 ns42.3339 ns526.6256 ns525.1977 ns637.1260 ns1.000.00----
Count<Int32>Stack2.22.2DefaultDefault161512537.6043 ns12.6457 ns14.0557 ns527.3048 ns525.3862 ns568.1417 ns0.970.05----
Count<String>Stack2.12.1DefaultDefault161512537.7206 ns11.2097 ns12.4595 ns529.5153 ns525.4191 ns550.7070 ns1.000.00----
Count<String>Stack2.22.2DefaultDefault161512534.7010 ns11.0800 ns12.3154 ns526.2251 ns524.7286 ns550.7314 ns0.990.01----
IsEmpty<Int32>Stack2.12.1DefaultDefault1615120.0087 ns0.0032 ns0.0030 ns0.0093 ns0.0028 ns0.0124 ns1.0000.00----
IsEmpty<Int32>Stack2.22.2DefaultDefault1615120.0000 ns0.0000 ns0.0000 ns0.0000 ns0.0000 ns0.0000 ns0.0000.00----
IsEmpty<String>Stack2.12.1DefaultDefault1615120.0000 ns0.0000 ns0.0000 ns0.0000 ns0.0000 ns0.0000 ns??----
IsEmpty<String>Stack2.22.2DefaultDefault1615120.0000 ns0.0000 ns0.0000 ns0.0000 ns0.0000 ns0.0000 ns??----
Count<Int32>Bag2.12.1DefaultDefault16151236.7567 ns0.8829 ns0.9813 ns36.0894 ns35.8693 ns38.8513 ns1.000.00----
Count<Int32>Bag2.22.2DefaultDefault16151240.6491 ns1.1729 ns1.3037 ns39.7093 ns39.6333 ns44.2368 ns1.110.02----
Count<String>Bag2.12.1DefaultDefault16151244.7430 ns0.0482 ns0.0402 ns44.7353 ns44.6929 ns44.8244 ns1.000.00----
Count<String>Bag2.22.2DefaultDefault16151237.6591 ns0.8736 ns0.9348 ns37.1309 ns36.9816 ns39.9958 ns0.850.02----
IsEmpty<Int32>Bag2.12.1DefaultDefault16151213.1872 ns0.3185 ns0.3408 ns13.0168 ns12.9901 ns14.0600 ns1.000.00----
IsEmpty<Int32>Bag2.22.2DefaultDefault16151213.0436 ns0.0434 ns0.0362 ns13.0389 ns13.0006 ns13.1233 ns0.990.03----
IsEmpty<String>Bag2.12.1DefaultDefault16151214.8909 ns0.3030 ns0.2686 ns14.7768 ns14.7320 ns15.5198 ns1.000.00----
IsEmpty<String>Bag2.22.2DefaultDefault16151214.9301 ns0.8463 ns0.9056 ns14.4444 ns14.4056 ns17.3396 ns1.010.06----
AddRemoveFromDifferentThreads<Int32>ConcurrentBagDefault2.11061-12000000389,964,707.0150 ns17,009,229.2570 ns19,587,853.7065 ns384,976,946.5150 ns365,587,758.3300 ns419,620,891.9400 ns1.000.002000.00002000.00002000.0000184 B
AddRemoveFromDifferentThreads<Int32>ConcurrentBagDefault2.21061-12000000350,560,091.4211 ns17,489,975.0682 ns19,440,060.9467 ns345,383,073.8500 ns326,222,111.1600 ns398,216,776.3000 ns0.900.072000.00002000.00002000.0000184 B
AddRemoveFromDifferentThreads<String>ConcurrentBagDefault2.11061-12000000365,182,740.0535 ns21,565,660.7793 ns24,835,047.0234 ns362,549,522.5100 ns326,138,504.5100 ns423,569,549.3300 ns1.000.002000.00002000.00002000.0000184 B
AddRemoveFromDifferentThreads<String>ConcurrentBagDefault2.21061-12000000363,144,676.4300 ns19,294,305.4470 ns22,219,350.8449 ns357,902,674.7300 ns338,242,638.0500 ns418,384,425.8100 ns1.000.102000.00002000.00002000.0000184 B
AddRemoveFromSameThreads<Int32>ConcurrentBagDefault2.11061-12000000395,559,453.2385 ns19,929,104.4434 ns22,950,386.3133 ns400,436,222.8750 ns355,551,781.1000 ns438,946,031.5800 ns1.000.00---144 B
AddRemoveFromSameThreads<Int32>ConcurrentBagDefault2.21061-12000000398,638,216.5510 ns18,824,566.3991 ns21,678,398.6588 ns396,030,886.4200 ns373,403,490.7000 ns442,320,461.6600 ns1.010.09---144 B
AddRemoveFromSameThreads<String>ConcurrentBagDefault2.11061-12000000410,668,660.5526 ns13,809,025.0775 ns15,348,694.7851 ns410,926,484.3100 ns374,258,445.3400 ns440,243,410.1100 ns1.000.00---144 B
AddRemoveFromSameThreads<String>ConcurrentBagDefault2.21061-12000000415,812,120.6690 ns16,353,690.5830 ns18,832,934.3947 ns417,218,152.2050 ns387,397,305.6600 ns449,052,686.0200 ns1.010.05---144 B
AddRemoveFromDifferentThreads<Int32>ConcurrentStackDefault2.11061-12000000254,744,467.2775 ns43,591,076.7010 ns50,199,548.7524 ns246,230,943.6700 ns164,933,773.2700 ns348,193,853.9600 ns1.000.0010000.00005000.00001000.0000184 B
AddRemoveFromDifferentThreads<Int32>ConcurrentStackDefault2.21061-12000000241,498,037.3470 ns46,097,875.4735 ns53,086,381.9466 ns246,997,402.1350 ns152,731,578.3100 ns325,998,204.9900 ns0.990.3310000.00005000.00001000.0000184 B
AddRemoveFromDifferentThreads<String>ConcurrentStackDefault2.11061-12000000316,681,957.7275 ns37,954,845.1159 ns43,708,856.0775 ns329,260,147.4100 ns240,505,092.5200 ns389,509,396.4500 ns1.000.0010000.00005000.00001000.0000184 B
AddRemoveFromDifferentThreads<String>ConcurrentStackDefault2.21061-12000000317,572,108.4215 ns32,416,166.7408 ns37,330,505.8242 ns311,627,340.4200 ns252,675,313.1000 ns385,450,945.6300 ns1.020.2110000.00006000.00001000.0000184 B
AddRemoveFromSameThreads<Int32>ConcurrentStackDefault2.11061-12000000149,807,098.8535 ns27,254,603.3077 ns31,386,441.6990 ns143,447,020.3250 ns97,775,122.2000 ns212,218,303.3100 ns1.000.0020000.0000--144 B
AddRemoveFromSameThreads<Int32>ConcurrentStackDefault2.21061-12000000169,549,915.3805 ns27,889,601.7726 ns32,117,706.8754 ns166,915,714.2300 ns112,192,487.1800 ns215,438,221.4500 ns1.180.3220000.0000--144 B
AddRemoveFromSameThreads<String>ConcurrentStackDefault2.11061-12000000269,249,287.8115 ns29,872,623.0012 ns34,401,357.0713 ns262,075,181.2700 ns212,428,082.6000 ns325,875,966.7900 ns1.000.0020000.0000--144 B
AddRemoveFromSameThreads<String>ConcurrentStackDefault2.21061-12000000254,529,727.1900 ns33,641,235.5305 ns38,741,296.8642 ns260,341,993.2650 ns186,914,111.9500 ns314,951,606.5000 ns0.960.1820000.0000--144 B
AddRemoveFromDifferentThreads<Int32>ConcurrentQueueDefault2.11061-1200000053,196,169.0050 ns9,000,939.8301 ns10,365,495.6935 ns52,755,170.6400 ns35,081,023.6100 ns72,466,383.4300 ns1.000.001000.00001000.00001000.0000184 B
AddRemoveFromDifferentThreads<Int32>ConcurrentQueueDefault2.21061-1200000055,359,036.7595 ns11,156,037.0426 ns12,847,308.8482 ns55,237,611.1050 ns32,492,182.4600 ns78,933,860.5100 ns1.080.33---184 B
AddRemoveFromDifferentThreads<String>ConcurrentQueueDefault2.11061-1200000059,987,024.9315 ns10,401,167.7619 ns11,978,000.2619 ns58,443,730.2300 ns41,673,789.5100 ns87,541,553.8600 ns1.000.00---184 B
AddRemoveFromDifferentThreads<String>ConcurrentQueueDefault2.21061-1200000059,111,129.4220 ns13,420,193.0001 ns15,454,714.2158 ns56,617,042.4700 ns28,693,845.9800 ns93,358,780.7400 ns1.020.34---184 B
AddRemoveFromSameThreads<Int32>ConcurrentQueueDefault2.11061-12000000100,408,182.9320 ns11,255,753.0842 ns12,962,141.9899 ns100,407,584.2150 ns80,397,725.3300 ns118,247,233.9200 ns1.000.00---144 B
AddRemoveFromSameThreads<Int32>ConcurrentQueueDefault2.21061-12000000115,218,178.4380 ns16,127,642.5443 ns18,572,617.1371 ns115,893,261.1750 ns91,755,386.1800 ns155,998,652.6000 ns1.160.19---144 B
AddRemoveFromSameThreads<String>ConcurrentQueueDefault2.11061-12000000123,226,271.0016 ns12,182,537.1560 ns13,540,857.7699 ns120,177,072.1900 ns103,915,613.8700 ns153,580,674.0800 ns1.000.00---144 B
AddRemoveFromSameThreads<String>ConcurrentQueueDefault2.21061-12000000129,008,814.2655 ns10,339,036.3743 ns11,906,449.6636 ns128,384,793.5950 ns97,814,979.6900 ns150,248,681.6800 ns1.060.17---144 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.Collections.Contains*

Type MethodJobToolchainSize MeanErrorStdDev Median Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
ContainsFalse<Int32>Array2.12.1512128.681 us4.2901 us4.5904 us125.765 us124.979 us141.285 us1.000.00----
ContainsFalse<Int32>Array2.22.2512130.968 us5.0374 us5.8011 us131.329 us125.262 us141.779 us1.020.06----
ContainsFalse<String>Array2.12.1512861.523 us0.5428 us0.4532 us861.391 us860.962 us862.390 us1.000.00----
ContainsFalse<String>Array2.22.2512971.038 us31.4413 us33.6418 us964.155 us940.749 us1,037.803 us1.140.04----
ContainsKeyFalse<Int32, Int32>Dictionary2.12.15123.680 us0.1191 us0.1323 us3.659 us3.528 us3.982 us1.000.00----
ContainsKeyFalse<Int32, Int32>Dictionary2.22.25123.492 us0.1144 us0.1317 us3.453 us3.359 us3.776 us0.950.03----
ContainsKeyFalse<String, String>Dictionary2.12.151215.740 us0.3694 us0.4106 us15.507 us15.313 us16.932 us1.000.00----
ContainsKeyFalse<String, String>Dictionary2.22.251215.399 us0.0787 us0.0697 us15.398 us15.259 us15.504 us0.970.02----
ContainsKeyTrue<Int32, Int32>Dictionary2.12.15123.949 us0.1112 us0.1281 us3.881 us3.817 us4.263 us1.000.00----
ContainsKeyTrue<Int32, Int32>Dictionary2.22.25123.908 us0.1452 us0.1673 us3.889 us3.715 us4.259 us0.990.04----
ContainsKeyTrue<String, String>Dictionary2.12.151216.741 us0.2740 us0.2139 us16.678 us16.570 us17.345 us1.000.00----
ContainsKeyTrue<String, String>Dictionary2.22.251217.192 us0.3328 us0.3268 us17.058 us16.836 us17.848 us1.030.02----
ContainsTrue<Int32>Array2.12.151269.920 us2.0586 us2.2026 us70.964 us67.635 us75.009 us1.000.00----
ContainsTrue<Int32>Array2.22.251269.239 us1.9268 us2.1416 us67.900 us67.755 us74.395 us0.990.03----
ContainsTrue<String>Array2.12.1512424.016 us11.2222 us12.4735 us431.649 us411.720 us455.773 us1.000.00----
ContainsTrue<String>Array2.22.2512480.998 us17.0027 us18.8984 us467.427 us465.883 us522.212 us1.130.04----
ContainsFalse<Int32>List2.12.1512126.838 us3.7544 us3.8555 us124.707 us124.139 us137.618 us1.000.00----
ContainsFalse<Int32>List2.22.2512128.097 us3.8849 us4.4738 us125.035 us124.374 us138.570 us1.020.04----
ContainsFalse<String>List2.12.1512906.832 us23.7992 us26.4528 us920.784 us877.840 us975.401 us1.000.00----
ContainsFalse<String>List2.22.2512962.383 us26.6855 us28.5532 us946.992 us936.769 us1,037.753 us1.060.03----
ContainsKeyFalse<Int32, Int32>IDictionary2.12.15125.408 us0.1815 us0.1697 us5.376 us5.207 us5.798 us1.000.00----
ContainsKeyFalse<Int32, Int32>IDictionary2.22.25125.627 us0.2278 us0.2437 us5.524 us5.273 us6.246 us1.050.04----
ContainsKeyFalse<String, String>IDictionary2.12.151216.392 us0.4124 us0.4584 us16.192 us16.039 us17.793 us1.000.00----
ContainsKeyFalse<String, String>IDictionary2.22.251216.577 us0.4127 us0.4416 us16.318 us16.144 us17.487 us1.010.01----
ContainsKeyTrue<Int32, Int32>IDictionary2.12.15124.809 us0.1203 us0.1235 us4.757 us4.635 us5.006 us1.000.00----
ContainsKeyTrue<Int32, Int32>IDictionary2.22.25125.154 us0.1210 us0.1295 us5.092 us5.050 us5.506 us1.070.03----
ContainsKeyTrue<String, String>IDictionary2.12.151217.780 us0.5071 us0.5426 us17.478 us17.268 us19.273 us1.000.00----
ContainsKeyTrue<String, String>IDictionary2.22.251217.752 us0.5196 us0.5775 us17.520 us17.176 us19.192 us1.000.03----
ContainsTrue<Int32>List2.12.151268.457 us1.8222 us2.0984 us67.095 us66.916 us73.703 us1.000.00----
ContainsTrue<Int32>List2.22.251272.178 us4.1181 us4.7424 us70.993 us66.823 us81.593 us1.050.07----
ContainsTrue<String>List2.12.1512454.582 us13.1997 us14.6715 us454.391 us439.751 us486.467 us1.000.00----
ContainsTrue<String>List2.22.2512506.618 us14.0810 us15.6510 us498.475 us494.718 us544.853 us1.110.03----
ContainsFalse<Int32>ICollection2.12.1512131.619 us0.7768 us0.6487 us131.321 us131.206 us133.359 us1.000.00----
ContainsFalse<Int32>ICollection2.22.2512129.958 us3.4482 us3.6895 us131.231 us125.210 us137.505 us1.000.02----
ContainsFalse<String>ICollection2.12.1512905.788 us19.1183 us21.2499 us922.114 us879.359 us936.317 us1.000.00----
ContainsFalse<String>ICollection2.22.2512984.058 us0.7878 us0.6579 us984.134 us983.148 us985.259 us1.080.02----
ContainsKeyFalse<Int32, Int32>SortedList2.12.151230.283 us0.9206 us0.9850 us30.031 us29.093 us32.845 us1.000.00----
ContainsKeyFalse<Int32, Int32>SortedList2.22.251229.850 us0.9052 us1.0424 us29.676 us28.161 us31.934 us0.990.04----
ContainsKeyFalse<String, String>SortedList2.12.1512628.863 us16.9682 us18.1558 us635.095 us605.155 us666.198 us1.000.00----
ContainsKeyFalse<String, String>SortedList2.22.2512638.403 us6.5602 us5.4781 us635.993 us635.212 us654.742 us1.000.03----
ContainsKeyTrue<Int32, Int32>SortedList2.12.151230.493 us0.8237 us0.8814 us30.528 us29.550 us32.722 us1.000.00----
ContainsKeyTrue<Int32, Int32>SortedList2.22.251229.865 us0.7940 us0.8825 us29.544 us28.930 us31.991 us0.980.02----
ContainsKeyTrue<String, String>SortedList2.12.1512510.383 us0.6819 us0.5694 us510.332 us509.578 us511.390 us1.000.00----
ContainsKeyTrue<String, String>SortedList2.22.2512499.743 us12.3431 us12.6754 us492.151 us491.072 us529.459 us0.980.03----
ContainsTrue<Int32>ICollection2.12.151270.861 us1.0951 us0.9144 us71.114 us67.834 us71.245 us1.000.00----
ContainsTrue<Int32>ICollection2.22.251269.981 us1.7568 us1.9527 us70.899 us67.654 us74.862 us1.000.02----
ContainsTrue<String>ICollection2.12.1512460.098 us7.1929 us6.0064 us461.230 us446.580 us467.081 us1.000.00----
ContainsTrue<String>ICollection2.22.2512507.627 us9.1603 us7.6493 us511.086 us492.032 us517.303 us1.100.02----
ContainsFalse<Int32>LinkedList2.12.1512416.909 us10.5915 us12.1972 us421.316 us402.311 us448.246 us1.000.00----
ContainsFalse<Int32>LinkedList2.22.2512419.624 us8.3185 us6.9463 us422.317 us403.660 us422.964 us0.990.03----
ContainsFalse<String>LinkedList2.12.15121,769.352 us48.1029 us53.4663 us1,731.173 us1,727.705 us1,917.213 us1.000.00----
ContainsFalse<String>LinkedList2.22.25121,844.735 us47.2265 us52.4922 us1,874.627 us1,790.662 us1,983.337 us1.040.03----
ContainsKeyFalse<Int32, Int32>SortedDictionary2.12.151254.985 us1.0036 us0.8380 us54.678 us54.559 us57.542 us1.000.00----
ContainsKeyFalse<Int32, Int32>SortedDictionary2.22.251259.266 us1.9379 us2.0735 us57.993 us57.860 us63.980 us1.090.04----
ContainsKeyFalse<String, String>SortedDictionary2.12.1512717.317 us21.9306 us24.3758 us724.927 us691.384 us765.469 us1.000.00----
ContainsKeyFalse<String, String>SortedDictionary2.22.2512700.933 us18.6531 us20.7328 us711.769 us679.411 us752.313 us0.980.03----
ContainsKeyTrue<Int32, Int32>SortedDictionary2.12.151252.431 us1.3116 us1.5104 us51.467 us51.198 us56.831 us1.000.00----
ContainsKeyTrue<Int32, Int32>SortedDictionary2.22.251254.147 us2.5112 us2.7912 us53.600 us51.204 us61.150 us1.030.06----
ContainsKeyTrue<String, String>SortedDictionary2.12.1512564.341 us13.2458 us15.2539 us570.104 us544.675 us598.261 us1.000.00----
ContainsKeyTrue<String, String>SortedDictionary2.22.2512551.873 us12.1008 us12.9477 us562.273 us537.121 us566.130 us0.980.03----
ContainsTrue<Int32>LinkedList2.12.1512209.451 us5.7598 us6.4020 us204.458 us203.580 us225.577 us1.000.00----
ContainsTrue<Int32>LinkedList2.22.2512210.242 us6.5168 us7.2434 us204.814 us204.147 us227.934 us1.000.01----
ContainsTrue<String>LinkedList2.12.1512934.735 us56.8082 us65.4204 us925.730 us865.377 us1,054.074 us1.000.00----
ContainsTrue<String>LinkedList2.22.2512940.752 us0.4526 us0.3780 us940.716 us939.861 us941.395 us0.980.06----
ContainsFalse<Int32>HashSet2.12.15125.515 us0.1268 us0.1245 us5.474 us5.369 us5.799 us1.000.00----
ContainsFalse<Int32>HashSet2.22.25125.765 us0.1726 us0.1918 us5.707 us5.535 us6.260 us1.050.04----
ContainsFalse<String>HashSet2.12.151220.935 us0.6524 us0.7513 us20.914 us20.095 us22.703 us1.000.00----
ContainsFalse<String>HashSet2.22.251220.290 us0.5827 us0.6477 us19.924 us19.692 us22.056 us0.970.03----
ContainsKeyFalse<Int32, Int32>ConcurrentDictionary2.12.15125.894 us0.1611 us0.1791 us5.805 us5.713 us6.357 us1.000.00----
ContainsKeyFalse<Int32, Int32>ConcurrentDictionary2.22.25126.037 us0.1404 us0.1560 us5.975 us5.846 us6.412 us1.020.02----
ContainsKeyFalse<String, String>ConcurrentDictionary2.12.151222.204 us0.5526 us0.6143 us21.800 us21.603 us23.563 us1.000.00----
ContainsKeyFalse<String, String>ConcurrentDictionary2.22.251221.032 us0.4058 us0.4511 us20.820 us20.687 us21.829 us0.950.02----
ContainsKeyTrue<Int32, Int32>ConcurrentDictionary2.12.15126.739 us0.1744 us0.1866 us6.822 us6.526 us7.203 us1.000.00----
ContainsKeyTrue<Int32, Int32>ConcurrentDictionary2.22.25126.788 us0.1899 us0.2187 us6.667 us6.636 us7.351 us1.010.03----
ContainsKeyTrue<String, String>ConcurrentDictionary2.12.151226.150 us0.8989 us1.0352 us25.608 us25.222 us28.357 us1.000.00----
ContainsKeyTrue<String, String>ConcurrentDictionary2.22.251225.946 us0.6578 us0.7576 us25.413 us25.234 us27.896 us0.990.03----
ContainsTrue<Int32>HashSet2.12.15127.324 us0.2038 us0.2266 us7.212 us7.131 us7.877 us1.000.00----
ContainsTrue<Int32>HashSet2.22.25127.139 us0.1910 us0.2199 us6.992 us6.939 us7.729 us0.980.03----
ContainsTrue<String>HashSet2.12.151225.102 us0.5674 us0.6306 us24.778 us24.593 us26.595 us1.000.00----
ContainsTrue<String>HashSet2.22.251222.762 us0.4844 us0.5183 us22.558 us22.374 us24.238 us0.910.01----
ContainsFalse<Int32>Queue2.12.1512133.281 us4.5769 us5.0872 us134.457 us128.240 us145.643 us1.000.00----
ContainsFalse<Int32>Queue2.22.2512134.962 us0.1416 us0.1106 us134.956 us134.852 us135.250 us0.990.03----
ContainsFalse<String>Queue2.12.1512904.825 us23.8961 us25.5686 us887.456 us883.212 us963.874 us1.000.00----
ContainsFalse<String>Queue2.22.2512989.692 us4.9652 us4.4015 us990.718 us974.594 us992.287 us1.090.03----
ContainsKeyFalse<Int32, Int32>ImmutableDictionary2.12.151226.683 us0.7702 us0.8870 us26.797 us25.601 us28.573 us1.000.00----
ContainsKeyFalse<Int32, Int32>ImmutableDictionary2.22.251226.194 us0.6372 us0.7083 us25.758 us25.623 us27.656 us0.980.04----
ContainsKeyFalse<String, String>ImmutableDictionary2.12.151247.719 us1.5371 us1.7701 us46.490 us46.166 us52.285 us1.000.00----
ContainsKeyFalse<String, String>ImmutableDictionary2.22.251246.330 us1.6276 us1.8091 us45.472 us44.801 us51.139 us0.970.03----
ContainsKeyTrue<Int32, Int32>ImmutableDictionary2.12.151231.553 us1.0135 us1.0408 us31.012 us30.839 us34.172 us1.000.00----
ContainsKeyTrue<Int32, Int32>ImmutableDictionary2.22.251231.626 us0.6222 us0.5196 us31.870 us30.612 us32.244 us1.000.03----
ContainsKeyTrue<String, String>ImmutableDictionary2.12.151263.749 us1.8624 us1.9927 us62.699 us62.434 us69.607 us1.000.00----
ContainsKeyTrue<String, String>ImmutableDictionary2.22.251265.770 us0.7902 us0.7005 us65.826 us63.573 us66.463 us1.030.03----
ContainsTrue<Int32>Queue2.12.151270.216 us2.1778 us2.4206 us70.785 us67.482 us75.538 us1.000.00----
ContainsTrue<Int32>Queue2.22.251270.606 us0.9092 us0.7099 us70.771 us68.372 us71.077 us0.990.03----
ContainsTrue<String>Queue2.12.1512452.750 us10.6530 us11.8408 us460.191 us439.007 us476.111 us1.000.00----
ContainsTrue<String>Queue2.22.2512506.502 us9.6625 us9.0383 us503.562 us495.703 us531.967 us1.110.03----
ContainsFalse<Int32>Stack2.12.1512113.022 us3.1014 us3.5715 us114.524 us109.305 us121.875 us1.000.00----
ContainsFalse<Int32>Stack2.22.2512111.722 us2.8884 us3.0905 us109.423 us109.167 us119.192 us0.990.03----
ContainsFalse<String>Stack2.12.1512920.220 us3.4990 us2.9218 us920.817 us910.689 us922.043 us1.000.00----
ContainsFalse<String>Stack2.22.2512906.983 us24.1556 us26.8489 us922.511 us880.363 us973.666 us1.000.03----
ContainsKeyFalse<Int32, Int32>ImmutableSortedDictionary2.12.151235.284 us1.1572 us1.2862 us34.507 us34.319 us38.539 us1.000.00----
ContainsKeyFalse<Int32, Int32>ImmutableSortedDictionary2.22.251231.835 us1.0158 us1.0869 us31.292 us30.923 us34.645 us0.900.03----
ContainsKeyFalse<String, String>ImmutableSortedDictionary2.12.1512651.132 us10.1445 us7.9202 us652.245 us627.213 us660.449 us1.000.00----
ContainsKeyFalse<String, String>ImmutableSortedDictionary2.22.2512669.514 us0.8994 us0.7973 us669.287 us668.561 us671.133 us1.030.01----
ContainsKeyTrue<Int32, Int32>ImmutableSortedDictionary2.12.151227.622 us0.7899 us0.8780 us27.204 us26.666 us30.011 us1.000.00----
ContainsKeyTrue<Int32, Int32>ImmutableSortedDictionary2.22.251230.185 us0.6412 us0.7126 us30.606 us29.332 us31.342 us1.090.03----
ContainsKeyTrue<String, String>ImmutableSortedDictionary2.12.1512496.010 us8.4107 us6.5665 us497.825 us475.195 us498.427 us1.000.00----
ContainsKeyTrue<String, String>ImmutableSortedDictionary2.22.2512491.078 us12.5631 us14.4677 us480.178 us478.793 us528.478 us1.010.03----
ContainsTrue<Int32>Stack2.12.151261.537 us1.7933 us1.9188 us60.281 us60.034 us65.634 us1.000.00----
ContainsTrue<Int32>Stack2.22.251261.077 us1.3892 us1.5440 us60.095 us59.823 us64.651 us0.990.02----
ContainsTrue<String>Stack2.12.1512453.252 us15.1470 us15.5548 us449.992 us439.267 us490.021 us1.000.00----
ContainsTrue<String>Stack2.22.2512465.269 us16.8172 us17.9943 us466.190 us444.998 us506.145 us1.030.03----
ContainsFalse<Int32>SortedSet2.12.151234.132 us0.8305 us0.8886 us33.742 us33.511 us36.255 us1.000.00----
ContainsFalse<Int32>SortedSet2.22.251229.461 us0.6522 us0.7250 us29.118 us28.844 us31.052 us0.860.01----
ContainsFalse<String>SortedSet2.12.1512628.606 us18.4266 us19.7163 us616.526 us613.257 us678.486 us1.000.00----
ContainsFalse<String>SortedSet2.22.2512616.726 us19.3357 us21.4916 us601.732 us598.784 us663.826 us0.980.01----
ContainsTrue<Int32>SortedSet2.12.151230.188 us0.8847 us0.9833 us29.645 us29.460 us32.974 us1.000.00----
ContainsTrue<Int32>SortedSet2.22.251227.273 us0.6653 us0.7394 us27.506 us26.264 us28.704 us0.900.03----
ContainsTrue<String>SortedSet2.12.1512511.515 us15.4374 us17.7778 us516.031 us494.724 us551.254 us1.000.00----
ContainsTrue<String>SortedSet2.22.2512467.079 us12.4455 us13.3165 us460.524 us459.244 us508.253 us0.910.03----
ContainsFalse<Int32>ImmutableArray2.12.1512133.631 us5.3660 us5.7416 us132.127 us128.615 us149.705 us1.000.00----
ContainsFalse<Int32>ImmutableArray2.22.2512131.898 us4.5717 us4.8916 us129.011 us128.807 us144.295 us0.990.03----
ContainsFalse<String>ImmutableArray2.12.1512912.259 us22.9271 us24.5317 us925.538 us882.963 us966.855 us1.000.00----
ContainsFalse<String>ImmutableArray2.22.2512985.587 us14.9585 us12.4911 us988.733 us944.127 us991.449 us1.070.02----
ContainsTrue<Int32>ImmutableArray2.12.151273.352 us1.7443 us1.9388 us74.652 us71.371 us77.332 us1.000.00----
ContainsTrue<Int32>ImmutableArray2.22.251273.722 us2.2589 us2.5108 us73.493 us71.330 us78.942 us1.010.03----
ContainsTrue<String>ImmutableArray2.12.1512455.287 us9.4741 us10.5305 us448.214 us446.828 us469.348 us1.000.00----
ContainsTrue<String>ImmutableArray2.22.2512494.548 us10.8986 us12.1137 us503.379 us479.738 us508.519 us1.090.02----
ContainsFalse<Int32>ImmutableHashSet2.12.151226.580 us0.4176 us0.3487 us26.446 us26.402 us27.501 us1.000.00----
ContainsFalse<Int32>ImmutableHashSet2.22.251227.511 us0.6500 us0.6955 us27.898 us26.558 us28.533 us1.050.02----
ContainsFalse<String>ImmutableHashSet2.12.151248.691 us1.3320 us1.4806 us47.751 us47.543 us52.813 us1.000.00----
ContainsFalse<String>ImmutableHashSet2.22.251250.171 us1.6038 us1.7826 us48.955 us48.520 us54.310 us1.030.03----
ContainsTrue<Int32>ImmutableHashSet2.12.151229.313 us0.6676 us0.7143 us28.979 us28.872 us31.299 us1.000.00----
ContainsTrue<Int32>ImmutableHashSet2.22.251228.466 us0.5892 us0.6549 us28.036 us27.871 us29.485 us0.970.02----
ContainsTrue<String>ImmutableHashSet2.12.151255.906 us3.1420 us3.6183 us55.252 us52.752 us64.106 us1.000.00----
ContainsTrue<String>ImmutableHashSet2.22.251254.292 us1.0783 us1.1985 us53.610 us53.526 us56.546 us0.970.05----
ContainsFalse<Int32>ImmutableList2.12.151212,975.065 us329.5491 us379.5093 us12,719.556 us12,695.487 us13,797.110 us1.000.00----
ContainsFalse<Int32>ImmutableList2.22.251213,158.129 us400.5556 us461.2804 us12,891.288 us12,866.092 us14,306.071 us1.010.02----
ContainsFalse<String>ImmutableList2.12.151223,269.868 us85.6778 us71.5448 us23,242.507 us23,179.014 us23,427.824 us1.000.00----
ContainsFalse<String>ImmutableList2.22.251222,995.791 us629.1077 us724.4813 us22,691.002 us22,358.457 us25,011.176 us1.000.03----
ContainsTrue<Int32>ImmutableList2.12.15126,675.803 us227.0507 us261.4720 us6,513.117 us6,459.785 us7,293.434 us1.000.00----
ContainsTrue<Int32>ImmutableList2.22.25126,640.925 us157.1563 us174.6788 us6,747.038 us6,440.973 us6,955.556 us0.990.03----
ContainsTrue<String>ImmutableList2.12.151211,572.416 us409.7848 us455.4747 us11,334.599 us11,296.413 us12,672.047 us1.000.00----
ContainsTrue<String>ImmutableList2.22.251211,642.392 us354.5223 us394.0507 us11,385.740 us11,365.097 us12,562.514 us1.010.04----
ContainsFalse<Int32>ImmutableSortedSet2.12.151232.443 us0.9139 us0.9779 us32.053 us31.344 us35.155 us1.000.00----
ContainsFalse<Int32>ImmutableSortedSet2.22.251232.349 us0.9859 us1.1353 us32.262 us31.059 us34.810 us1.000.04----
ContainsFalse<String>ImmutableSortedSet2.12.1512645.605 us17.8627 us19.8543 us653.194 us622.726 us695.483 us1.000.00----
ContainsFalse<String>ImmutableSortedSet2.22.2512632.979 us15.5187 us17.8714 us620.152 us618.165 us680.210 us0.980.03----
ContainsTrue<Int32>ImmutableSortedSet2.12.151226.572 us0.9360 us1.0404 us26.393 us25.518 us28.639 us1.000.00----
ContainsTrue<Int32>ImmutableSortedSet2.22.251226.480 us0.7147 us0.7944 us26.800 us25.573 us28.090 us1.000.03----
ContainsTrue<String>ImmutableSortedSet2.12.1512488.319 us16.9010 us18.0839 us485.359 us471.680 us535.578 us1.000.00----
ContainsTrue<String>ImmutableSortedSet2.22.2512497.096 us1.0823 us1.0124 us496.811 us496.009 us499.551 us1.010.04----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.Collections.Indexers

No significant difference. Difference visible in the results below gone after re-run.

Type MethodJobToolchainSize Mean Error StdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
IndexerSet<Int32>Array2.12.1512182.7 ns3.9479 ns4.3881 ns180.2 ns178.9 ns192.8 ns1.000.00----
IndexerSet<Int32>Array2.22.2512178.7 ns3.4373 ns3.0471 ns177.4 ns176.9 ns186.0 ns0.970.02----
IndexerSet<String>Array2.12.1512180.0 ns0.9033 ns0.7052 ns179.8 ns179.1 ns181.3 ns1.000.00----
IndexerSet<String>Array2.22.2512181.0 ns3.5513 ns3.9472 ns179.0 ns177.4 ns188.8 ns1.010.02----
IndexerSetReverse<Int32>Array2.12.1512207.3 ns5.1991 ns5.7788 ns204.4 ns203.6 ns223.6 ns1.000.00----
IndexerSetReverse<Int32>Array2.22.2512209.5 ns5.4296 ns6.2527 ns204.9 ns204.1 ns223.9 ns1.010.03----
IndexerSetReverse<String>Array2.12.1512209.4 ns4.4293 ns4.9231 ns208.7 ns204.2 ns216.6 ns1.000.00----
IndexerSetReverse<String>Array2.22.2512209.4 ns5.4952 ns6.1079 ns207.5 ns203.7 ns225.7 ns1.000.02----
IndexerSet<Int32>Span2.12.1512178.3 ns5.2735 ns5.6426 ns174.9 ns174.4 ns191.5 ns1.000.00----
IndexerSet<Int32>Span2.22.2512182.8 ns4.0488 ns4.3322 ns180.1 ns179.3 ns193.0 ns1.030.02----
IndexerSet<String>Span2.12.1512288.7 ns5.8969 ns6.3097 ns284.5 ns283.9 ns297.7 ns1.000.00----
IndexerSet<String>Span2.22.2512302.1 ns7.9175 ns8.8002 ns296.5 ns295.8 ns327.2 ns1.050.02----
IndexerSetReverse<Int32>Span2.12.1512209.7 ns5.9964 ns6.6649 ns205.9 ns204.9 ns224.5 ns1.000.00----
IndexerSetReverse<Int32>Span2.22.2512208.7 ns4.1264 ns4.5865 ns205.8 ns205.2 ns215.4 ns1.000.01----
IndexerSetReverse<String>Span2.12.1512248.6 ns5.0316 ns4.9417 ns246.5 ns245.6 ns260.5 ns1.000.00----
IndexerSetReverse<String>Span2.22.2512251.0 ns5.6821 ns6.3157 ns247.3 ns246.7 ns265.8 ns1.010.02----
IndexerSet<Int32>List2.12.1512920.0 ns77.3744 ns89.1045 ns962.1 ns821.9 ns1,068.7 ns1.000.00----
IndexerSet<Int32>List2.22.2512931.4 ns75.1259 ns86.5151 ns976.1 ns828.9 ns1,118.4 ns1.010.03----
IndexerSet<String>List2.12.1512879.0 ns21.2129 ns23.5780 ns865.4 ns862.7 ns945.5 ns1.000.00----
IndexerSet<String>List2.22.2512891.6 ns29.0669 ns32.3078 ns875.5 ns869.4 ns976.1 ns1.010.03----
IndexerSetReverse<Int32>List2.12.1512923.3 ns75.0802 ns86.4625 ns971.0 ns813.6 ns1,068.9 ns1.000.00----
IndexerSetReverse<Int32>List2.22.2512956.6 ns22.5173 ns21.0627 ns960.4 ns934.5 ns1,015.6 ns1.010.08----
IndexerSetReverse<String>List2.12.1512796.8 ns19.1758 ns21.3139 ns809.4 ns773.3 ns847.5 ns1.000.00----
IndexerSetReverse<String>List2.22.2512792.3 ns23.3934 ns26.0017 ns775.3 ns772.6 ns846.1 ns0.990.03----
IndexerSet<Int32>IList2.12.15122,477.3 ns3.9335 ns3.4869 ns2,476.4 ns2,472.6 ns2,485.2 ns1.000.00----
IndexerSet<Int32>IList2.22.25122,519.0 ns49.3383 ns54.8393 ns2,479.5 ns2,471.3 ns2,590.0 ns1.020.02----
IndexerSet<String>IList2.12.15126,786.2 ns172.7038 ns184.7911 ns6,652.7 ns6,617.1 ns7,210.5 ns1.000.00----
IndexerSet<String>IList2.22.25127,629.8 ns183.0945 ns203.5091 ns7,744.0 ns7,399.5 ns8,132.8 ns1.130.02----
IndexerSetReverse<Int32>IList2.12.15121,478.2 ns40.9338 ns45.4978 ns1,450.9 ns1,436.6 ns1,599.2 ns1.000.00----
IndexerSetReverse<Int32>IList2.22.25121,512.6 ns46.0940 ns51.2334 ns1,478.8 ns1,472.9 ns1,632.5 ns1.020.03----
IndexerSetReverse<String>IList2.12.15122,404.0 ns70.1521 ns77.9738 ns2,352.3 ns2,339.7 ns2,611.4 ns1.000.00----
IndexerSetReverse<String>IList2.22.25122,031.6 ns52.4651 ns58.3149 ns2,054.5 ns1,973.8 ns2,183.8 ns0.850.03----
IndexerSet<Int32>Dictionary2.12.15124,774.2 ns121.8287 ns130.3553 ns4,698.2 ns4,672.0 ns4,990.7 ns1.000.00----
IndexerSet<Int32>Dictionary2.22.25124,867.4 ns120.7875 ns134.2550 ns4,872.7 ns4,668.1 ns5,155.5 ns1.020.03----
IndexerSet<String>Dictionary2.12.151221,177.9 ns432.4344 ns480.6497 ns20,950.0 ns20,714.2 ns22,181.2 ns1.000.00----
IndexerSet<String>Dictionary2.22.251221,127.4 ns405.2335 ns379.0557 ns21,030.3 ns20,742.1 ns22,013.0 ns0.990.02----
IndexerSet<Int32>SortedList2.12.151230,326.2 ns680.7395 ns756.6402 ns30,031.8 ns29,105.4 ns31,387.3 ns1.000.00----
IndexerSet<Int32>SortedList2.22.251229,062.0 ns925.8101 ns950.7388 ns28,733.6 ns28,274.1 ns31,575.3 ns0.960.03----
IndexerSet<String>SortedList2.12.1512516,391.2 ns33,817.8164 ns38,944.6476 ns505,766.0 ns482,166.8 ns601,589.0 ns1.000.00----
IndexerSet<String>SortedList2.22.2512478,591.4 ns6,082.2683 ns4,748.6350 ns477,473.8 ns471,821.7 ns484,537.4 ns0.890.06----
IndexerSet<Int32>SortedDictionary2.12.151253,371.3 ns150.1723 ns117.2446 ns53,343.9 ns53,221.8 ns53,617.8 ns1.000.00----
IndexerSet<Int32>SortedDictionary2.22.251252,779.0 ns806.9989 ns673.8807 ns52,497.1 ns52,404.8 ns54,822.6 ns0.990.01----
IndexerSet<String>SortedDictionary2.12.1512580,921.0 ns11,723.2234 ns13,030.3317 ns591,501.3 ns565,134.2 ns592,420.1 ns1.000.00----
IndexerSet<String>SortedDictionary2.22.2512552,949.8 ns12,090.6410 ns13,438.7155 ns543,020.1 ns541,120.5 ns577,135.8 ns0.950.02----
IndexerSet<Int32>ConcurrentDictionary2.12.151221,244.6 ns746.3124 ns829.5243 ns21,406.1 ns20,390.9 ns23,282.0 ns1.000.00----
IndexerSet<Int32>ConcurrentDictionary2.22.251221,206.7 ns314.1020 ns278.4432 ns21,308.1 ns20,419.5 ns21,338.5 ns0.990.03----
IndexerSet<String>ConcurrentDictionary2.12.151241,502.4 ns962.7269 ns1,030.1070 ns40,958.5 ns40,512.3 ns43,878.8 ns1.000.00----
IndexerSet<String>ConcurrentDictionary2.22.251241,389.8 ns24.7304 ns21.9229 ns41,389.2 ns41,355.8 ns41,425.4 ns0.990.03----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.Collections.Iterate

No significant difference. Vast majority of the benchmarks is very stable.

Type MethodJobToolchainSize Mean Error StdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
IterateFor<Int32>Array2.12.1512205.4 ns8.6829 ns8.1219 ns201.0 ns200.4 ns221.5 ns1.000.00----
IterateFor<Int32>Array2.22.2512204.4 ns4.9775 ns5.5325 ns208.0 ns198.7 ns217.7 ns1.000.03----
IterateFor<String>Array2.12.1512201.5 ns4.5149 ns5.0183 ns198.3 ns197.9 ns211.1 ns1.000.00----
IterateFor<String>Array2.22.2512207.9 ns6.0913 ns6.7705 ns202.7 ns202.0 ns222.2 ns1.030.03----
IterateForEach<Int32>Array2.12.1512202.4 ns4.4330 ns4.9273 ns199.8 ns199.3 ns214.9 ns1.000.00----
IterateForEach<Int32>Array2.22.2512208.9 ns4.9803 ns5.3288 ns206.2 ns205.8 ns224.3 ns1.030.02----
IterateForEach<String>Array2.12.1512201.8 ns4.1233 ns4.5830 ns198.9 ns198.4 ns208.7 ns1.000.00----
IterateForEach<String>Array2.22.2512210.5 ns6.9560 ns7.4429 ns206.7 ns205.9 ns229.1 ns1.040.02----
IterateForEachNonGeneric<Int32>ArrayList2.12.15123,965.5 ns109.1967 ns112.1370 ns3,921.1 ns3,912.2 ns4,332.1 ns1.000.00---48 B
IterateForEachNonGeneric<Int32>ArrayList2.22.25123,919.5 ns6.2673 ns4.8931 ns3,918.1 ns3,913.0 ns3,926.8 ns0.980.03---48 B
IterateForEachNonGeneric<String>ArrayList2.12.15124,148.5 ns86.6493 ns96.3105 ns4,229.5 ns4,040.5 ns4,248.9 ns1.000.00---48 B
IterateForEachNonGeneric<String>ArrayList2.22.25123,922.4 ns8.8537 ns8.2818 ns3,918.4 ns3,912.6 ns3,938.1 ns0.940.02---48 B
IterateForNonGeneric<Int32>ArrayList2.12.15121,489.7 ns40.0286 ns44.4917 ns1,505.0 ns1,437.6 ns1,572.1 ns1.000.00----
IterateForNonGeneric<Int32>ArrayList2.22.25121,454.7 ns3.7229 ns2.9066 ns1,454.1 ns1,450.4 ns1,459.9 ns0.960.02----
IterateForNonGeneric<String>ArrayList2.12.15121,492.6 ns29.8861 ns24.9563 ns1,502.3 ns1,434.8 ns1,504.8 ns1.000.00----
IterateForNonGeneric<String>ArrayList2.22.25121,510.8 ns42.3408 ns45.3041 ns1,523.4 ns1,453.6 ns1,608.6 ns1.030.02----
IterateFor<Int32>Span2.12.1512203.7 ns5.5694 ns5.9592 ns200.8 ns200.4 ns220.9 ns1.000.00----
IterateFor<Int32>Span2.22.2512200.6 ns4.1506 ns3.8825 ns199.0 ns198.7 ns211.8 ns0.980.03----
IterateFor<String>Span2.12.1512236.5 ns5.3502 ns5.9467 ns232.7 ns231.9 ns249.0 ns1.000.00----
IterateFor<String>Span2.22.2512237.5 ns0.2734 ns0.2283 ns237.5 ns237.1 ns237.9 ns1.010.03----
IterateForEach<Int32>Span2.12.1512202.5 ns4.8827 ns5.2244 ns199.6 ns198.8 ns218.0 ns1.000.00----
IterateForEach<Int32>Span2.22.2512201.1 ns3.8960 ns3.2533 ns200.0 ns199.6 ns211.5 ns0.990.03----
IterateForEach<String>Span2.12.1512216.2 ns4.3167 ns4.6189 ns219.8 ns209.7 ns220.2 ns1.000.00----
IterateForEach<String>Span2.22.2512214.6 ns6.1359 ns6.5653 ns215.4 ns208.0 ns230.7 ns0.990.02----
IterateForEachNonGeneric<Int32>Hashtable2.12.151213,720.3 ns282.5023 ns314.0005 ns13,991.8 ns13,373.7 ns14,038.8 ns1.000.002.5452--16440 B
IterateForEachNonGeneric<Int32>Hashtable2.22.251214,652.7 ns344.3621 ns287.5580 ns14,602.7 ns14,058.9 ns15,341.4 ns1.060.022.5725--16440 B
IterateForEachNonGeneric<String>Hashtable2.12.151213,489.0 ns340.3246 ns391.9183 ns13,285.1 ns13,234.2 ns14,703.4 ns1.000.002.5578--16440 B
IterateForEachNonGeneric<String>Hashtable2.22.251214,124.6 ns360.8544 ns401.0887 ns13,907.2 ns13,860.2 ns15,369.1 ns1.050.022.5510--16440 B
IterateFor<Int32>ReadOnlySpan2.12.1512206.0 ns5.1223 ns5.8989 ns205.3 ns200.6 ns222.3 ns1.000.00----
IterateFor<Int32>ReadOnlySpan2.22.2512201.5 ns4.3982 ns4.7061 ns199.2 ns199.0 ns214.4 ns0.980.03----
IterateFor<String>ReadOnlySpan2.12.1512227.3 ns4.6673 ns5.1877 ns224.9 ns223.9 ns237.7 ns1.000.00----
IterateFor<String>ReadOnlySpan2.22.2512235.9 ns5.7017 ns6.5661 ns231.5 ns230.7 ns250.9 ns1.040.03----
IterateForEach<Int32>ReadOnlySpan2.12.1512202.2 ns3.9814 ns3.9102 ns199.5 ns198.9 ns207.4 ns1.000.00----
IterateForEach<Int32>ReadOnlySpan2.22.2512203.5 ns9.0301 ns8.0050 ns199.4 ns199.0 ns222.1 ns1.000.03----
IterateForEach<String>ReadOnlySpan2.12.1512204.0 ns3.9110 ns4.0163 ns201.3 ns200.3 ns211.2 ns1.000.00----
IterateForEach<String>ReadOnlySpan2.22.2512200.6 ns0.3178 ns0.2817 ns200.5 ns200.1 ns201.1 ns0.980.02----
IterateForEachNonGeneric<Int32>Queue2.12.15124,874.4 ns97.1296 ns95.3943 ns4,831.4 ns4,817.9 ns5,092.7 ns1.000.00---40 B
IterateForEachNonGeneric<Int32>Queue2.22.25125,273.0 ns142.7906 ns158.7113 ns5,159.9 ns5,138.4 ns5,729.2 ns1.090.03---40 B
IterateForEachNonGeneric<String>Queue2.12.15125,061.5 ns119.0256 ns132.2966 ns4,960.1 ns4,948.7 ns5,340.5 ns1.000.00---40 B
IterateForEachNonGeneric<String>Queue2.22.25125,077.9 ns139.6554 ns149.4297 ns5,007.7 ns4,954.8 ns5,436.6 ns1.000.02---40 B
IterateFor<Int32>List2.12.1512268.8 ns5.3507 ns5.0050 ns266.2 ns265.7 ns278.5 ns1.000.00----
IterateFor<Int32>List2.22.2512268.3 ns4.9432 ns4.3820 ns266.5 ns266.0 ns278.6 ns1.000.01----
IterateFor<String>List2.12.1512282.0 ns7.5006 ns8.3369 ns276.1 ns275.4 ns305.0 ns1.000.00----
IterateFor<String>List2.22.2512270.8 ns6.6718 ns7.6832 ns265.5 ns264.6 ns290.2 ns0.960.01----
IterateForEach<Int32>IEnumerable2.12.15122,679.2 ns64.0036 ns71.1398 ns2,650.9 ns2,629.7 ns2,895.7 ns1.000.00---32 B
IterateForEach<Int32>IEnumerable2.22.25122,555.6 ns66.5404 ns76.6280 ns2,549.9 ns2,485.0 ns2,765.4 ns0.960.03---32 B
IterateForEach<String>IEnumerable2.12.15122,486.9 ns3.8542 ns3.0091 ns2,487.0 ns2,482.7 ns2,493.5 ns1.000.00---32 B
IterateForEach<String>IEnumerable2.22.25122,514.6 ns50.1067 ns49.2115 ns2,491.3 ns2,484.8 ns2,626.6 ns1.010.02---32 B
IterateForEachNonGeneric<Int32>Stack2.12.15124,079.1 ns80.2291 ns82.3894 ns4,046.0 ns4,034.7 ns4,320.8 ns1.000.00---40 B
IterateForEachNonGeneric<Int32>Stack2.22.25124,280.7 ns111.2723 ns123.6788 ns4,194.6 ns4,167.3 ns4,622.1 ns1.050.03---40 B
IterateForEachNonGeneric<String>Stack2.12.15124,149.0 ns114.0308 ns131.3181 ns4,054.4 ns4,039.5 ns4,438.9 ns1.000.00---40 B
IterateForEachNonGeneric<String>Stack2.22.25124,255.6 ns117.9019 ns131.0476 ns4,180.9 ns4,167.2 ns4,658.5 ns1.030.03---40 B
IterateFor<Int32>IList2.12.15122,581.8 ns50.5854 ns42.2411 ns2,598.6 ns2,486.2 ns2,601.3 ns1.000.00----
IterateFor<Int32>IList2.22.25122,549.5 ns62.0762 ns68.9975 ns2,586.6 ns2,474.0 ns2,726.7 ns1.000.01----
IterateFor<String>IList2.12.15122,259.9 ns46.2721 ns51.4313 ns2,219.2 ns2,210.9 ns2,320.5 ns1.000.00----
IterateFor<String>IList2.22.25122,675.8 ns69.4819 ns77.2290 ns2,722.1 ns2,597.1 ns2,840.5 ns1.180.03----
IterateForEach<Int32>List2.12.15121,030.9 ns19.8434 ns19.4888 ns1,020.1 ns1,017.8 ns1,068.1 ns1.000.00----
IterateForEach<Int32>List2.22.25121,016.7 ns1.4059 ns1.2463 ns1,016.4 ns1,014.8 ns1,019.4 ns0.990.02----
IterateForEach<String>List2.12.15121,892.1 ns52.6362 ns56.3201 ns1,859.8 ns1,843.4 ns2,027.8 ns1.000.00----
IterateForEach<String>List2.22.25122,020.1 ns56.6626 ns62.9803 ns1,977.3 ns1,969.3 ns2,200.3 ns1.070.03----
IterateForEachNonGeneric<Int32>SortedList2.12.151210,407.8 ns246.4246 ns283.7829 ns10,396.7 ns10,126.4 ns11,102.0 ns1.000.002.5883--16448 B
IterateForEachNonGeneric<Int32>SortedList2.22.251210,854.4 ns365.8972 ns391.5059 ns10,602.6 ns10,527.7 ns11,709.0 ns1.040.032.5987--16448 B
IterateForEachNonGeneric<String>SortedList2.12.151210,849.3 ns492.0075 ns546.8650 ns10,643.8 ns10,164.2 ns12,249.7 ns1.000.002.5871--16448 B
IterateForEachNonGeneric<String>SortedList2.22.251210,830.1 ns327.9327 ns350.8843 ns10,584.3 ns10,516.5 ns11,584.1 ns1.000.062.6023--16448 B
IterateFor<Int32>ImmutableArray2.12.1512204.2 ns5.2800 ns5.8687 ns200.8 ns200.2 ns221.5 ns1.000.00----
IterateFor<Int32>ImmutableArray2.22.2512204.0 ns4.9450 ns5.6947 ns200.7 ns200.4 ns221.5 ns1.000.03----
IterateFor<String>ImmutableArray2.12.1512206.5 ns0.6287 ns0.5573 ns206.2 ns206.0 ns207.6 ns1.000.00----
IterateFor<String>ImmutableArray2.22.2512209.9 ns5.5592 ns5.9483 ns207.1 ns206.5 ns229.1 ns1.020.03----
IterateForEach<Int32>LinkedList2.12.15121,890.7 ns57.3857 ns63.7841 ns1,842.6 ns1,832.5 ns2,053.0 ns1.000.00----
IterateForEach<Int32>LinkedList2.22.25122,129.0 ns41.0373 ns34.2680 ns2,118.8 ns2,097.3 ns2,205.0 ns1.110.03----
IterateForEach<String>LinkedList2.12.15123,499.0 ns98.3974 ns105.2841 ns3,426.1 ns3,408.4 ns3,776.4 ns1.000.00----
IterateForEach<String>LinkedList2.22.25123,235.4 ns81.8016 ns90.9223 ns3,180.8 ns3,151.7 ns3,485.2 ns0.930.03----
IterateFor<Int32>ImmutableList2.12.151214,154.7 ns270.7713 ns253.2796 ns14,095.5 ns13,874.8 ns14,762.3 ns1.000.00----
IterateFor<Int32>ImmutableList2.22.251216,213.6 ns429.8484 ns495.0140 ns15,903.8 ns15,776.3 ns17,572.2 ns1.150.03----
IterateFor<String>ImmutableList2.12.151216,041.4 ns380.2203 ns422.6139 ns15,763.6 ns15,647.3 ns17,025.5 ns1.000.00----
IterateFor<String>ImmutableList2.22.251216,077.2 ns342.4370 ns351.6576 ns15,955.4 ns15,860.0 ns17,209.3 ns1.000.02----
IterateForEach<Int32>HashSet2.12.15121,438.2 ns3.7406 ns2.9204 ns1,437.2 ns1,435.6 ns1,445.6 ns1.000.00----
IterateForEach<Int32>HashSet2.22.25121,500.4 ns49.3494 ns52.8033 ns1,509.1 ns1,440.4 ns1,613.8 ns1.060.03----
IterateForEach<String>HashSet2.12.15122,505.7 ns36.3216 ns32.1981 ns2,493.5 ns2,487.2 ns2,598.2 ns1.000.00----
IterateForEach<String>HashSet2.22.25122,299.6 ns57.8236 ns66.5898 ns2,329.6 ns2,232.2 ns2,475.9 ns0.930.03----
IterateFor<Int32>ImmutableSortedSet2.12.151215,706.8 ns125.5386 ns98.0123 ns15,691.5 ns15,588.1 ns15,882.6 ns1.000.00----
IterateFor<Int32>ImmutableSortedSet2.22.251216,324.9 ns393.9463 ns437.8702 ns16,562.2 ns15,732.2 ns17,120.0 ns1.060.02----
IterateFor<String>ImmutableSortedSet2.12.151214,319.9 ns437.7234 ns486.5284 ns14,019.7 ns13,904.9 ns15,378.9 ns1.000.00----
IterateFor<String>ImmutableSortedSet2.22.251214,320.6 ns429.4238 ns477.3034 ns14,061.1 ns13,872.0 ns15,319.5 ns1.000.02----
IterateForEach<Int32>Dictionary2.12.15123,397.3 ns33.8521 ns28.2680 ns3,405.0 ns3,303.3 ns3,406.4 ns1.000.00----
IterateForEach<Int32>Dictionary2.22.25123,376.2 ns61.9793 ns51.7555 ns3,405.5 ns3,249.6 ns3,408.0 ns0.990.01----
IterateForEach<String>Dictionary2.12.15122,722.0 ns82.9881 ns95.5692 ns2,669.0 ns2,636.2 ns2,963.5 ns1.000.00----
IterateForEach<String>Dictionary2.22.25122,926.1 ns58.1730 ns57.1337 ns2,900.0 ns2,888.0 ns3,069.2 ns1.070.04----
IterateForEach<Int32>Queue2.12.15121,473.5 ns33.4394 ns35.7798 ns1,450.6 ns1,447.0 ns1,554.1 ns1.000.00----
IterateForEach<Int32>Queue2.22.25121,597.8 ns36.6497 ns39.2148 ns1,577.0 ns1,573.8 ns1,704.4 ns1.080.01----
IterateForEach<String>Queue2.12.15124,299.1 ns126.6012 ns135.4618 ns4,316.1 ns4,167.8 ns4,610.4 ns1.000.00----
IterateForEach<String>Queue2.22.25123,481.3 ns90.4308 ns100.5136 ns3,417.6 ns3,396.9 ns3,760.3 ns0.810.02----
IterateForEach<Int32>Stack2.12.15121,609.5 ns33.6464 ns36.0013 ns1,588.9 ns1,572.0 ns1,649.3 ns1.000.00----
IterateForEach<Int32>Stack2.22.25121,608.6 ns44.1048 ns47.1916 ns1,579.0 ns1,574.8 ns1,742.9 ns1.000.02----
IterateForEach<String>Stack2.12.15124,535.0 ns99.9284 ns111.0701 ns4,470.4 ns4,431.1 ns4,766.9 ns1.000.00----
IterateForEach<String>Stack2.22.25123,646.2 ns93.7831 ns100.3469 ns3,673.1 ns3,527.2 ns3,837.1 ns0.800.02----
IterateForEach<Int32>SortedList2.12.15124,951.6 ns8.0686 ns7.5474 ns4,947.4 ns4,940.8 ns4,962.7 ns1.000.00---48 B
IterateForEach<Int32>SortedList2.22.25125,185.0 ns24.1432 ns20.1607 ns5,189.8 ns5,118.1 ns5,194.3 ns1.050.00---48 B
IterateForEach<String>SortedList2.12.151210,359.5 ns206.0172 ns220.4361 ns10,246.1 ns10,107.4 ns10,726.9 ns1.000.00---56 B
IterateForEach<String>SortedList2.22.251210,254.4 ns266.8790 ns296.6353 ns10,098.2 ns10,044.7 ns11,056.8 ns0.990.03---56 B
IterateForEach<Int32>SortedSet2.12.15129,922.7 ns219.9801 ns235.3763 ns9,789.9 ns9,675.7 ns10,381.4 ns1.000.00---224 B
IterateForEach<Int32>SortedSet2.22.25129,306.0 ns39.8537 ns31.1152 ns9,299.0 ns9,271.6 ns9,363.2 ns0.930.02---224 B
IterateForEach<String>SortedSet2.12.151212,409.5 ns242.4773 ns238.1451 ns12,308.9 ns12,261.1 ns12,916.2 ns1.000.00---224 B
IterateForEach<String>SortedSet2.22.251211,834.5 ns228.7777 ns224.6903 ns11,736.9 ns11,697.2 ns12,332.9 ns0.950.00---224 B
IterateForEach<Int32>SortedDictionary2.12.151210,390.1 ns240.8300 ns267.6819 ns10,185.4 ns10,126.9 ns10,755.2 ns1.000.00---224 B
IterateForEach<Int32>SortedDictionary2.22.251210,605.3 ns270.2472 ns300.3791 ns10,771.9 ns10,285.4 ns11,164.4 ns1.020.02---224 B
IterateForEach<String>SortedDictionary2.12.151218,053.9 ns492.5482 ns567.2192 ns17,796.9 ns17,543.4 ns19,542.9 ns1.000.00---224 B
IterateForEach<String>SortedDictionary2.22.251217,476.6 ns515.6384 ns573.1307 ns17,140.1 ns17,083.7 ns18,946.3 ns0.970.03---224 B
IterateForEach<Int32>ConcurrentDictionary2.12.151215,116.1 ns39.0959 ns30.5235 ns15,104.7 ns15,087.5 ns15,204.2 ns1.000.00---56 B
IterateForEach<Int32>ConcurrentDictionary2.22.251215,704.0 ns398.4302 ns458.8329 ns15,442.1 ns15,383.3 ns16,866.9 ns1.050.03---56 B
IterateForEach<String>ConcurrentDictionary2.12.151226,417.5 ns753.5634 ns867.8048 ns25,897.1 ns25,818.4 ns28,852.5 ns1.000.00---64 B
IterateForEach<String>ConcurrentDictionary2.22.251220,903.3 ns476.0249 ns548.1909 ns21,181.2 ns20,183.1 ns22,218.4 ns0.790.03---64 B
IterateForEach<Int32>ConcurrentQueue2.12.15124,847.9 ns112.2839 ns120.1425 ns4,852.7 ns4,723.3 ns5,032.2 ns1.000.00---80 B
IterateForEach<Int32>ConcurrentQueue2.22.25124,514.1 ns114.8116 ns117.9031 ns4,467.5 ns4,456.1 ns4,886.5 ns0.930.02---80 B
IterateForEach<String>ConcurrentQueue2.12.15125,329.1 ns59.8269 ns49.9581 ns5,349.3 ns5,203.4 ns5,375.3 ns1.000.00---80 B
IterateForEach<String>ConcurrentQueue2.22.25125,543.6 ns105.8997 ns104.0077 ns5,498.5 ns5,447.4 ns5,757.5 ns1.040.02---80 B
IterateForEach<Int32>ConcurrentStack2.12.15123,320.0 ns81.3726 ns90.4454 ns3,272.0 ns3,262.4 ns3,533.7 ns1.000.00---40 B
IterateForEach<Int32>ConcurrentStack2.22.25123,459.7 ns89.3512 ns99.3137 ns3,401.9 ns3,389.8 ns3,712.9 ns1.040.02---40 B
IterateForEach<String>ConcurrentStack2.12.15124,501.2 ns94.8402 ns105.4146 ns4,446.0 ns4,396.8 ns4,756.7 ns1.000.00---48 B
IterateForEach<String>ConcurrentStack2.22.25124,522.1 ns147.0836 ns157.3778 ns4,443.2 ns4,379.6 ns4,917.9 ns1.000.02---48 B
IterateForEach<Int32>ConcurrentBag2.12.15123,176.7 ns82.4949 ns91.6929 ns3,129.4 ns3,095.3 ns3,431.1 ns1.000.000.3244--2104 B
IterateForEach<Int32>ConcurrentBag2.22.25123,091.1 ns60.6773 ns67.4426 ns3,046.1 ns3,030.1 ns3,179.1 ns0.970.020.3304--2104 B
IterateForEach<String>ConcurrentBag2.12.15125,309.5 ns138.2086 ns147.8816 ns5,372.7 ns5,132.7 ns5,689.9 ns1.000.000.6466--4160 B
IterateForEach<String>ConcurrentBag2.22.25125,129.7 ns131.8078 ns151.7900 ns5,047.9 ns5,015.7 ns5,590.6 ns0.970.030.6519--4160 B
IterateForEach<Int32>ImmutableArray2.12.15121,082.5 ns27.4862 ns31.6531 ns1,094.1 ns1,051.5 ns1,169.8 ns1.000.00----
IterateForEach<Int32>ImmutableArray2.22.25121,076.3 ns28.3769 ns31.5409 ns1,055.0 ns1,050.1 ns1,162.5 ns0.990.03----
IterateForEach<String>ImmutableArray2.12.15121,064.5 ns22.0400 ns21.6462 ns1,054.3 ns1,051.7 ns1,118.7 ns1.000.00----
IterateForEach<String>ImmutableArray2.22.25121,080.0 ns23.1236 ns24.7420 ns1,100.4 ns1,051.8 ns1,109.1 ns1.020.02----
IterateForEach<Int32>ImmutableDictionary2.12.151256,332.5 ns1,227.0233 ns1,363.8331 ns57,499.4 ns54,814.1 ns57,905.3 ns1.000.00----
IterateForEach<Int32>ImmutableDictionary2.22.251257,460.1 ns2,174.2760 ns2,326.4510 ns57,793.4 ns55,099.8 ns63,669.1 ns1.020.03----
IterateForEach<String>ImmutableDictionary2.12.1512102,067.9 ns1,151.6348 ns899.1207 ns102,281.1 ns99,307.5 ns102,734.7 ns1.000.00----
IterateForEach<String>ImmutableDictionary2.22.2512101,226.0 ns3,146.4836 ns3,497.3082 ns98,928.2 ns98,532.5 ns109,315.8 ns1.000.04----
IterateForEach<Int32>ImmutableHashSet2.12.151267,612.9 ns1,832.3481 ns2,036.6501 ns66,535.4 ns66,433.1 ns74,147.4 ns1.000.00----
IterateForEach<Int32>ImmutableHashSet2.22.251268,095.3 ns1,779.2637 ns1,977.6468 ns66,736.2 ns66,304.3 ns73,403.0 ns1.010.04----
IterateForEach<String>ImmutableHashSet2.12.1512115,255.2 ns1,637.9530 ns1,452.0026 ns115,598.1 ns113,115.2 ns118,530.2 ns1.000.00----
IterateForEach<String>ImmutableHashSet2.22.2512115,403.2 ns103.5250 ns80.8255 ns115,390.3 ns115,278.6 ns115,598.1 ns1.000.01----
IterateForEach<Int32>ImmutableList2.12.151224,588.9 ns609.6476 ns702.0711 ns24,990.6 ns23,820.2 ns26,186.4 ns1.000.00----
IterateForEach<Int32>ImmutableList2.22.251224,247.3 ns652.3801 ns698.0394 ns23,911.9 ns23,866.4 ns26,423.7 ns0.980.03----
IterateForEach<String>ImmutableList2.12.151241,441.0 ns1,224.8540 ns1,361.4220 ns41,958.7 ns40,051.6 ns44,398.2 ns1.000.00----
IterateForEach<String>ImmutableList2.22.251240,593.1 ns1,038.3656 ns1,111.0395 ns40,007.4 ns39,861.1 ns44,034.7 ns0.980.03----
IterateForEach<Int32>ImmutableQueue2.12.15123,983.4 ns57.4490 ns44.8524 ns3,976.7 ns3,928.2 ns4,055.3 ns1.000.00----
IterateForEach<Int32>ImmutableQueue2.22.25123,880.2 ns106.0852 ns117.9134 ns3,798.0 ns3,776.4 ns4,185.4 ns0.990.03----
IterateForEach<String>ImmutableQueue2.12.15125,293.5 ns139.7116 ns155.2891 ns5,207.8 ns5,148.6 ns5,727.8 ns1.000.00----
IterateForEach<String>ImmutableQueue2.22.25125,038.5 ns130.5463 ns139.6831 ns4,967.3 ns4,943.0 ns5,456.1 ns0.950.03----
IterateForEach<Int32>ImmutableStack2.12.15123,885.8 ns131.5370 ns146.2030 ns3,792.3 ns3,778.4 ns4,248.7 ns1.000.00----
IterateForEach<Int32>ImmutableStack2.22.25123,642.3 ns82.5405 ns88.3174 ns3,617.9 ns3,541.9 ns3,841.9 ns0.940.02----
IterateForEach<String>ImmutableStack2.12.15124,684.0 ns176.5849 ns203.3555 ns4,667.2 ns4,446.8 ns5,178.3 ns1.000.00----
IterateForEach<String>ImmutableStack2.22.25124,229.6 ns83.9844 ns86.2458 ns4,177.7 ns4,171.0 ns4,379.0 ns0.900.04----
IterateForEach<Int32>ImmutableSortedDictionary2.12.151225,646.4 ns675.6194 ns750.9492 ns26,077.6 ns24,884.2 ns27,026.9 ns1.000.00----
IterateForEach<Int32>ImmutableSortedDictionary2.22.251224,735.3 ns749.5476 ns863.1801 ns24,141.7 ns24,087.7 ns26,718.9 ns0.970.03----
IterateForEach<String>ImmutableSortedDictionary2.12.151248,208.4 ns1,110.7019 ns1,188.4386 ns47,387.5 ns47,299.6 ns50,832.3 ns1.000.00----
IterateForEach<String>ImmutableSortedDictionary2.22.251249,429.4 ns1,053.0185 ns1,126.7180 ns50,066.2 ns47,836.5 ns51,436.7 ns1.030.02----
IterateForEach<Int32>ImmutableSortedSet2.12.151224,443.3 ns671.4220 ns718.4140 ns24,110.9 ns24,062.2 ns26,709.0 ns1.000.00----
IterateForEach<Int32>ImmutableSortedSet2.22.251224,780.5 ns365.4094 ns305.1334 ns24,865.6 ns23,770.2 ns24,923.2 ns1.010.03----
IterateForEach<String>ImmutableSortedSet2.12.151245,438.5 ns1,375.6621 ns1,412.7037 ns45,705.0 ns43,618.1 ns49,054.6 ns1.000.00----
IterateForEach<String>ImmutableSortedSet2.22.251245,393.2 ns1,233.2855 ns1,370.7936 ns46,069.3 ns44,079.9 ns49,123.8 ns1.000.03----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.Collections.TryAdd

No significant difference. Difference visible in the results below gone after re-run.

Type MethodJobToolchainCountMeanErrorStdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
TryAddDefaultSize<Int32>Dictionary2.12.151211.882 us0.2767 us0.2961 us11.773 us11.597 us12.665 us1.000.005.43480.6308-33.69 KB
TryAddDefaultSize<Int32>Dictionary2.22.251212.366 us0.0474 us0.0370 us12.360 us12.296 us12.438 us1.030.035.41700.6643-33.69 KB
TryAddDefaultSize<String>Dictionary2.12.151228.463 us0.6889 us0.7372 us27.998 us27.755 us30.352 us1.000.007.56521.1639-46.97 KB
TryAddDefaultSize<String>Dictionary2.22.251227.902 us0.8392 us0.9328 us27.733 us26.953 us29.754 us0.980.037.57231.2432-46.97 KB
TryAddGiventSize<Int32>Dictionary2.12.15126.669 us0.1604 us0.1783 us6.574 us6.475 us7.072 us1.000.001.64690.1080-10.3 KB
TryAddGiventSize<Int32>Dictionary2.22.25127.091 us0.1372 us0.1525 us7.035 us6.941 us7.419 us1.060.031.64170.0864-10.3 KB
TryAddGiventSize<String>Dictionary2.12.151221.776 us0.6201 us0.7142 us21.387 us21.241 us23.436 us1.000.002.22580.1781-14.38 KB
TryAddGiventSize<String>Dictionary2.22.251221.150 us0.3899 us0.3647 us20.982 us20.908 us21.896 us0.970.032.26320.1741-14.38 KB
TryAddDefaultSize<Int32>ConcurrentDictionary2.12.151267.495 us2.8153 us3.1292 us67.448 us64.643 us74.582 us1.000.0019.39665.6573-121.06 KB
TryAddDefaultSize<Int32>ConcurrentDictionary2.22.251266.184 us1.6855 us1.8035 us65.139 us64.846 us71.200 us0.980.0419.48055.6818-121.06 KB
TryAddDefaultSize<String>ConcurrentDictionary2.12.1512119.630 us2.3742 us2.6390 us117.770 us117.149 us122.791 us1.000.0020.99614.8828-130.14 KB
TryAddDefaultSize<String>ConcurrentDictionary2.22.2512138.931 us3.3717 us3.6076 us136.783 us136.267 us148.494 us1.160.0223.99557.8125-149.88 KB
TryAddGiventSize<Int32>ConcurrentDictionary2.12.151232.162 us0.7713 us0.8573 us32.598 us31.218 us34.037 us1.000.008.08981.5658-50.62 KB
TryAddGiventSize<Int32>ConcurrentDictionary2.22.251232.210 us1.1333 us1.2126 us31.975 us31.189 us35.166 us1.000.038.07291.5625-50.62 KB
TryAddGiventSize<String>ConcurrentDictionary2.12.151277.872 us1.6513 us1.8355 us79.055 us75.452 us80.552 us1.000.009.15401.8939-58.63 KB
TryAddGiventSize<String>ConcurrentDictionary2.22.251278.749 us1.4192 us1.2581 us79.263 us75.815 us79.437 us1.000.019.51782.2208-59.38 KB

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.IO.Compression

No significant difference. Difference visible in the results below gone after re-run.

Type MethodJobToolchain filelevel Mean Error StdDev Median Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
BrotliCompress_WithState2.12.1TestDocument.pdfFastest72.638 us1.3752 us1.2864 us72.027 us71.675 us76.22 us1.000.00---32 B
BrotliCompress_WithState2.22.2TestDocument.pdfFastest63.816 us0.9816 us0.8197 us63.864 us62.827 us64.88 us0.880.02---32 B
DeflateCompress2.12.1TestDocument.pdfFastest2,035.873 us40.3732 us44.8747 us2,042.453 us1,987.907 us2,082.23 us1.000.00---8480 B
DeflateCompress2.22.2TestDocument.pdfFastest2,048.354 us59.6420 us61.2480 us2,062.915 us1,987.313 us2,212.62 us1.000.02---8480 B
GzipCompress2.12.1TestDocument.pdfFastest2,046.371 us67.8260 us69.6523 us1,995.010 us1,988.706 us2,199.58 us1.000.00---8520 B
GzipCompress2.22.2TestDocument.pdfFastest2,064.796 us39.4039 us34.9305 us2,081.642 us1,992.602 us2,087.76 us1.000.03---8520 B
BrotliDecompress_WithState2.12.1TestDocument.pdfFastest425.383 us0.6195 us0.4837 us425.291 us424.819 us426.16 us1.000.00---32 B
BrotliDecompress_WithState2.22.2TestDocument.pdfFastest429.053 us10.3107 us11.0323 us423.013 us421.895 us458.66 us1.020.03---32 B
DeflateDecompress2.12.1TestDocument.pdfFastest374.175 us9.5358 us10.2032 us373.330 us364.372 us397.37 us1.000.00---8464 B
DeflateDecompress2.22.2TestDocument.pdfFastest371.235 us9.6678 us10.3444 us366.084 us365.034 us404.39 us0.990.03---8464 B
GzipDecompress2.12.1TestDocument.pdfFastest481.475 us0.5441 us0.4823 us481.515 us480.697 us482.15 us1.000.00---8504 B
GzipDecompress2.22.2TestDocument.pdfFastest481.689 us0.5822 us0.4862 us481.651 us480.933 us482.47 us1.000.00---8504 B
BrotliCompress_WithoutState2.12.1TestDocument.pdfFastest70.358 us1.6776 us1.7228 us69.635 us68.848 us74.95 us1.000.00----
BrotliCompress_WithoutState2.22.2TestDocument.pdfFastest70.363 us1.5905 us1.5621 us69.524 us69.291 us74.48 us1.000.02----
BrotliDecompress_WithoutState2.12.1TestDocument.pdfFastest437.828 us9.6034 us10.6742 us443.559 us423.727 us454.71 us1.000.00----
BrotliDecompress_WithoutState2.22.2TestDocument.pdfFastest440.662 us12.2453 us13.6106 us441.769 us421.402 us464.80 us1.010.03----
BrotliCompress2.12.1TestDocument.pdfFastest585.056 us27.4712 us31.6358 us577.194 us548.314 us655.91 us1.000.009.6154--65680 B
BrotliCompress2.22.2TestDocument.pdfFastest595.454 us31.4759 us36.2477 us606.862 us533.406 us684.08 us1.020.068.1522--65680 B
BrotliDecompress2.12.1TestDocument.pdfFastest484.397 us17.8864 us19.1383 us473.197 us470.587 us533.70 us1.000.008.0645--65680 B
BrotliDecompress2.22.2TestDocument.pdfFastest483.098 us10.9523 us12.1735 us476.230 us472.128 us516.75 us1.000.049.7656--65680 B
BrotliCompress_WithState2.12.1TestDocument.pdfOptimal50,949.260 us884.1291 us738.2879 us50,504.263 us50,337.691 us52,695.78 us1.000.00---32 B
BrotliCompress_WithState2.22.2TestDocument.pdfOptimal49,772.173 us1,070.5056 us1,189.8641 us50,580.884 us48,469.407 us51,303.91 us0.990.03---32 B
DeflateCompress2.12.1TestDocument.pdfOptimal2,833.221 us68.6492 us70.4977 us2,866.782 us2,740.437 us2,952.65 us1.000.00---8480 B
DeflateCompress2.22.2TestDocument.pdfOptimal2,822.348 us62.0073 us66.3471 us2,867.262 us2,742.438 us2,942.75 us1.000.01---8480 B
GzipCompress2.12.1TestDocument.pdfOptimal2,821.797 us80.2036 us82.3632 us2,792.560 us2,748.530 us3,046.34 us1.000.00---8520 B
GzipCompress2.22.2TestDocument.pdfOptimal2,830.423 us72.6021 us80.6971 us2,868.989 us2,742.002 us3,049.16 us1.010.03---8520 B
BrotliDecompress_WithState2.12.1TestDocument.pdfOptimal902.405 us28.4757 us30.4686 us887.287 us884.352 us983.05 us1.000.00---32 B
BrotliDecompress_WithState2.22.2TestDocument.pdfOptimal919.591 us32.8756 us36.5412 us889.627 us886.521 us982.92 us1.020.03---32 B
DeflateDecompress2.12.1TestDocument.pdfOptimal378.255 us10.5420 us11.7174 us370.119 us368.226 us408.61 us1.000.00---8464 B
DeflateDecompress2.22.2TestDocument.pdfOptimal375.981 us9.7902 us10.4754 us369.473 us368.319 us403.56 us1.000.03---8464 B
GzipDecompress2.12.1TestDocument.pdfOptimal485.683 us0.4606 us0.4308 us485.783 us484.652 us486.36 us1.000.00---8504 B
GzipDecompress2.22.2TestDocument.pdfOptimal478.306 us14.9764 us16.0246 us475.712 us464.211 us521.00 us0.990.03---8504 B
BrotliCompress_WithoutState2.12.1TestDocument.pdfOptimal67,834.100 us10,790.2145 us11,545.4087 us71,713.268 us35,744.303 us72,410.35 us1.000.00----
BrotliCompress_WithoutState2.22.2TestDocument.pdfOptimal67,480.971 us11,956.3964 us12,278.3388 us69,017.042 us36,165.116 us76,968.58 us1.000.05----
BrotliDecompress_WithoutState2.12.1TestDocument.pdfOptimal908.465 us8.7230 us7.2841 us905.184 us901.152 us926.20 us1.000.00----
BrotliDecompress_WithoutState2.22.2TestDocument.pdfOptimal918.619 us26.3139 us27.0224 us924.159 us881.642 us980.10 us1.020.02----
BrotliCompress2.12.1TestDocument.pdfOptimal19.599 us0.5634 us0.6489 us19.770 us18.595 us20.91 us1.000.0010.37641.6892-65680 B
BrotliCompress2.22.2TestDocument.pdfOptimal24.370 us3.2837 us3.7816 us24.025 us18.205 us31.32 us1.240.1910.24591.6393-65680 B
BrotliDecompress2.12.1TestDocument.pdfOptimal966.441 us18.8150 us17.5996 us974.152 us940.003 us982.85 us1.000.007.8125--65680 B
BrotliDecompress2.22.2TestDocument.pdfOptimal961.497 us23.5738 us27.1477 us944.670 us938.773 us1,041.49 us1.000.027.8125--65680 B
BrotliCompress_WithState2.12.1alice29.txtFastest27.978 us0.4401 us0.3901 us28.249 us27.379 us28.41 us1.000.00---32 B
BrotliCompress_WithState2.22.2alice29.txtFastest28.020 us0.4494 us0.3984 us27.853 us27.659 us28.87 us1.000.02---32 B
DeflateCompress2.12.1alice29.txtFastest1,431.638 us47.6090 us52.9173 us1,441.813 us1,379.503 us1,527.99 us1.000.00---8480 B
DeflateCompress2.22.2alice29.txtFastest1,427.928 us40.7220 us43.5721 us1,442.152 us1,380.010 us1,529.87 us1.000.05---8480 B
GzipCompress2.12.1alice29.txtFastest1,411.662 us28.0550 us31.1831 us1,386.960 us1,380.169 us1,446.50 us1.000.00---8520 B
GzipCompress2.22.2alice29.txtFastest1,413.080 us28.5984 us31.7870 us1,387.655 us1,382.052 us1,446.72 us1.000.00---8520 B
BrotliDecompress_WithState2.12.1alice29.txtFastest579.431 us35.2989 us40.6502 us567.197 us538.742 us663.55 us1.000.00---32 B
BrotliDecompress_WithState2.22.2alice29.txtFastest552.217 us15.6127 us16.7054 us540.756 us537.938 us597.24 us0.950.06---32 B
DeflateDecompress2.12.1alice29.txtFastest573.187 us16.5558 us17.0016 us581.013 us554.795 us614.98 us1.000.00---8464 B
DeflateDecompress2.22.2alice29.txtFastest576.838 us11.0270 us9.2080 us580.480 us555.135 us581.26 us1.000.02---8464 B
GzipDecompress2.12.1alice29.txtFastest695.642 us21.2384 us22.7249 us700.548 us669.677 us744.02 us1.000.00---8504 B
GzipDecompress2.22.2alice29.txtFastest686.529 us23.1333 us25.7126 us670.828 us669.663 us742.96 us0.990.04---8504 B
BrotliCompress_WithoutState2.12.1alice29.txtFastest130.233 us2.4180 us2.0191 us129.461 us128.387 us133.22 us1.000.00----
BrotliCompress_WithoutState2.22.2alice29.txtFastest130.817 us2.4114 us2.0136 us129.776 us128.963 us133.79 us1.000.00----
BrotliDecompress_WithoutState2.12.1alice29.txtFastest553.583 us17.0256 us18.9239 us541.429 us539.359 us599.15 us1.000.00----
BrotliDecompress_WithoutState2.22.2alice29.txtFastest544.100 us11.3175 us12.1096 us536.590 us534.871 us564.58 us0.980.02----
BrotliCompress2.12.1alice29.txtFastest1,359.233 us34.2060 us38.0198 us1,363.978 us1,314.599 us1,439.42 us1.000.005.2083--65680 B
BrotliCompress2.22.2alice29.txtFastest1,335.500 us24.6548 us21.8558 us1,322.347 us1,316.343 us1,369.33 us0.970.025.2083--65680 B
BrotliDecompress2.12.1alice29.txtFastest616.529 us12.7406 us14.1611 us609.845 us602.071 us656.46 us1.000.007.5000--65680 B
BrotliDecompress2.22.2alice29.txtFastest630.424 us26.2158 us30.1901 us627.136 us592.891 us694.22 us1.030.048.1522--65680 B
BrotliCompress_WithState2.12.1alice29.txtOptimal12,178.632 us286.9030 us318.8919 us11,987.391 us11,944.679 us12,898.06 us1.000.00---32 B
BrotliCompress_WithState2.22.2alice29.txtOptimal12,218.608 us358.0615 us351.6643 us12,055.726 us12,012.684 us13,257.23 us1.000.03---32 B
DeflateCompress2.12.1alice29.txtOptimal4,560.452 us67.2215 us56.1330 us4,575.936 us4,374.137 us4,582.54 us1.000.00---8480 B
DeflateCompress2.22.2alice29.txtOptimal4,546.102 us73.0128 us57.0036 us4,561.136 us4,365.356 us4,567.94 us0.990.01---8480 B
GzipCompress2.12.1alice29.txtOptimal4,527.487 us159.0113 us176.7407 us4,564.714 us4,359.547 us4,961.24 us1.000.00---8520 B
GzipCompress2.22.2alice29.txtOptimal4,442.368 us90.4835 us96.8164 us4,373.978 us4,361.070 us4,569.23 us0.980.03---8520 B
BrotliDecompress_WithState2.12.1alice29.txtOptimal537.751 us10.3650 us9.6954 us533.137 us531.641 us558.38 us1.000.00---32 B
BrotliDecompress_WithState2.22.2alice29.txtOptimal539.384 us12.0700 us13.4158 us530.366 us526.294 us561.38 us1.010.02---32 B
DeflateDecompress2.12.1alice29.txtOptimal512.503 us11.4825 us12.2861 us519.571 us497.050 us535.21 us1.000.00---8464 B
DeflateDecompress2.22.2alice29.txtOptimal512.085 us13.4809 us14.9840 us519.559 us496.749 us550.47 us1.000.02---8464 B
GzipDecompress2.12.1alice29.txtOptimal637.489 us8.3574 us7.4086 us639.276 us611.796 us640.28 us1.000.00---8504 B
GzipDecompress2.22.2alice29.txtOptimal635.674 us12.0830 us9.4336 us639.483 us610.639 us640.05 us0.990.01---8504 B
BrotliCompress_WithoutState2.12.1alice29.txtOptimal215,320.730 us153,019.8537 us176,217.8911 us82,749.061 us42,998.481 us456,319.84 us1.000.00----
BrotliCompress_WithoutState2.22.2alice29.txtOptimal212,571.533 us150,511.5531 us173,329.3284 us82,614.634 us42,877.882 us447,548.62 us0.990.02----
BrotliDecompress_WithoutState2.12.1alice29.txtOptimal530.747 us10.3425 us10.6210 us525.771 us523.589 us550.91 us1.000.00----
BrotliDecompress_WithoutState2.22.2alice29.txtOptimal549.735 us10.6694 us9.4581 us548.174 us540.492 us574.42 us1.030.02----
BrotliCompress2.12.1alice29.txtOptimal31.738 us3.6664 us4.2223 us30.937 us24.213 us40.45 us1.000.0010.36661.6526-65680 B
BrotliCompress2.22.2alice29.txtOptimal28.147 us1.8900 us2.0223 us28.377 us24.849 us31.12 us0.890.1310.28141.6234-65680 B
BrotliDecompress2.12.1alice29.txtOptimal625.759 us40.1969 us46.2908 us611.676 us587.489 us728.17 us1.000.009.6154--65680 B
BrotliDecompress2.22.2alice29.txtOptimal612.915 us30.1041 us34.6679 us592.072 us587.964 us696.78 us0.980.069.6154--65680 B
BrotliCompress_WithState2.12.1sumFastest49.256 us1.3254 us1.4732 us48.339 us48.016 us53.51 us1.000.00---32 B
BrotliCompress_WithState2.22.2sumFastest49.738 us1.6349 us1.8172 us48.500 us48.267 us54.42 us1.010.01---32 B
DeflateCompress2.12.1sumFastest284.954 us10.2049 us11.7519 us280.885 us267.557 us303.58 us1.000.00---8480 B
DeflateCompress2.22.2sumFastest281.211 us9.8843 us11.3828 us281.001 us265.823 us301.23 us0.990.05---8480 B
GzipCompress2.12.1sumFastest286.698 us10.1403 us11.2709 us281.557 us268.728 us308.83 us1.000.00---8520 B
GzipCompress2.22.2sumFastest281.096 us3.3392 us2.7884 us281.870 us271.925 us282.68 us0.970.04---8520 B
BrotliDecompress_WithState2.12.1sumFastest144.909 us4.2017 us4.6702 us146.601 us139.897 us154.55 us1.000.00---32 B
BrotliDecompress_WithState2.22.2sumFastest144.698 us3.6943 us4.2543 us146.727 us140.160 us156.83 us1.000.01---32 B
DeflateDecompress2.12.1sumFastest141.067 us7.5236 us8.3625 us137.904 us132.726 us160.35 us1.000.001.1364--8464 B
DeflateDecompress2.22.2sumFastest142.782 us5.8360 us6.7207 us141.589 us133.533 us158.82 us1.020.051.1792--8464 B
GzipDecompress2.12.1sumFastest172.828 us6.8715 us7.6377 us169.557 us161.183 us186.56 us1.000.000.7267--8504 B
GzipDecompress2.22.2sumFastest170.649 us5.9354 us6.5972 us168.759 us160.745 us186.48 us0.990.030.7022--8504 B
BrotliCompress_WithoutState2.12.1sumFastest132.690 us2.4855 us2.4411 us131.342 us130.960 us136.95 us1.000.00----
BrotliCompress_WithoutState2.22.2sumFastest145.228 us2.8314 us2.5100 us144.698 us142.313 us148.61 us1.090.01----
BrotliDecompress_WithoutState2.12.1sumFastest143.506 us3.9024 us4.3375 us140.829 us139.273 us154.46 us1.000.00----
BrotliDecompress_WithoutState2.22.2sumFastest141.041 us2.7496 us2.5720 us139.743 us139.380 us145.99 us0.980.03----
BrotliCompress2.12.1sumFastest267.926 us23.5039 us27.0671 us268.108 us234.208 us309.63 us1.000.009.11461.3021-65680 B
BrotliCompress2.22.2sumFastest269.002 us31.4888 us36.2625 us260.713 us220.417 us343.73 us1.000.0810.00001.2500-65680 B
BrotliDecompress2.12.1sumFastest157.612 us8.2605 us9.5128 us151.639 us148.509 us181.18 us1.000.0010.08061.3441-65680 B
BrotliDecompress2.22.2sumFastest163.103 us11.7923 us13.5800 us156.399 us149.725 us189.23 us1.030.069.97341.3298-65680 B
BrotliCompress_WithState2.12.1sumOptimal15,148.139 us219.9062 us194.9412 us15,184.916 us14,495.669 us15,336.55 us1.000.00---32 B
BrotliCompress_WithState2.22.2sumOptimal14,778.471 us313.9114 us348.9117 us14,546.649 us14,455.915 us15,250.98 us0.980.02---32 B
DeflateCompress2.12.1sumOptimal645.001 us27.0341 us31.1325 us640.959 us600.889 us708.54 us1.000.00---8480 B
DeflateCompress2.22.2sumOptimal624.753 us16.0649 us17.1892 us616.073 us600.345 us669.91 us0.960.05---8480 B
GzipCompress2.12.1sumOptimal631.322 us20.3168 us20.8639 us641.291 us601.629 us673.25 us1.000.00---8520 B
GzipCompress2.22.2sumOptimal622.437 us13.3273 us14.8132 us615.522 us603.442 us645.56 us0.990.03---8520 B
BrotliDecompress_WithState2.12.1sumOptimal171.199 us4.5705 us4.8904 us169.043 us168.590 us186.78 us1.000.00---32 B
BrotliDecompress_WithState2.22.2sumOptimal174.435 us4.6561 us5.1752 us177.357 us169.396 us187.21 us1.020.04---32 B
DeflateDecompress2.12.1sumOptimal133.980 us5.7189 us6.5859 us135.896 us124.975 us146.11 us1.000.001.1161--8464 B
DeflateDecompress2.22.2sumOptimal135.764 us6.9404 us7.9926 us137.896 us124.623 us155.54 us1.010.051.1062--8464 B
GzipDecompress2.12.1sumOptimal164.184 us6.3748 us7.0856 us162.333 us156.132 us182.10 us1.000.000.6720--8504 B
GzipDecompress2.22.2sumOptimal164.380 us5.6044 us6.2292 us161.963 us156.844 us179.99 us1.000.050.6720--8504 B
BrotliCompress_WithoutState2.12.1sumOptimal21,132.472 us1,421.3659 us1,395.9713 us21,349.632 us16,035.157 us22,571.30 us1.000.00----
BrotliCompress_WithoutState2.22.2sumOptimal21,757.353 us1,932.9511 us1,898.4164 us22,038.158 us15,892.107 us24,245.29 us1.030.06----
BrotliDecompress_WithoutState2.12.1sumOptimal171.241 us3.9345 us4.3732 us167.531 us167.123 us179.25 us1.000.00----
BrotliDecompress_WithoutState2.22.2sumOptimal168.911 us3.2063 us3.1490 us167.496 us167.234 us175.41 us0.980.02----
BrotliCompress2.12.1sumOptimal9.138 us0.6872 us0.7914 us8.679 us8.272 us10.78 us1.000.0010.38211.6957-65680 B
BrotliCompress2.22.2sumOptimal9.037 us0.5769 us0.6412 us8.938 us8.337 us10.47 us0.990.0610.40231.7194-65680 B
BrotliDecompress2.12.1sumOptimal192.913 us4.7593 us5.0924 us195.390 us185.163 us201.56 us1.000.009.61540.8013-65680 B
BrotliDecompress2.22.2sumOptimal187.686 us4.2825 us4.5822 us186.932 us182.286 us197.73 us0.970.029.61540.8013-65680 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.IO.Pipes

No significant difference.

TypeMethodJobToolchainsizeMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Perf_AnonymousPipeStream_ServerIn_ClientOutReadWrite2.12.11000000328.6 us6.422 us6.871 us327.9 us319.7 us345.6 us1.000.00---245 B
Perf_AnonymousPipeStream_ServerIn_ClientOutReadWrite2.22.21000000332.8 us7.318 us7.830 us331.7 us323.5 us355.0 us1.010.03---241 B
Perf_AnonymousPipeStream_ServerOut_ClientInReadWrite2.12.11000000340.3 us10.454 us12.039 us338.0 us324.8 us367.7 us1.000.00---242 B
Perf_AnonymousPipeStream_ServerOut_ClientInReadWrite2.22.21000000339.3 us9.377 us10.423 us339.1 us324.1 us354.1 us1.000.05---231 B
Perf_NamedPipeStream_ServerInOut_ClientInOutReadWrite2.12.11000000476.7 us61.771 us71.135 us447.8 us382.9 us636.0 us1.000.00---548 B
Perf_NamedPipeStream_ServerInOut_ClientInOutReadWrite2.22.21000000442.8 us27.261 us31.393 us439.4 us388.7 us514.0 us0.950.15---561 B
Perf_NamedPipeStream_ServerIn_ClientOutReadWrite2.12.11000000435.7 us15.508 us17.860 us438.4 us403.6 us468.5 us1.000.00---531 B
Perf_NamedPipeStream_ServerIn_ClientOutReadWrite2.22.21000000466.9 us75.463 us86.904 us441.1 us365.6 us671.4 us1.070.20---548 B
Perf_NamedPipeStream_ServerOut_ClientInReadWrite2.12.11000000544.5 us77.451 us89.192 us581.6 us411.0 us652.6 us1.000.00---543 B
Perf_NamedPipeStream_ServerOut_ClientInReadWrite2.22.21000000506.8 us88.881 us102.355 us454.5 us394.4 us654.8 us0.970.31---522 B

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.Collections Remove

No significant difference.

For T = Int32
MethodToolchainSizeMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
List.NET Core 2.151224.328 us0.1930 us0.1711 us24.281 us24.118 us24.644 us1.000.00----
List2.251223.037 us0.1060 us0.0940 us23.027 us22.875 us23.193 us0.950.01----
ICollection.NET Core 2.151225.160 us0.2151 us0.1796 us25.097 us24.962 us25.624 us1.000.00----
ICollection2.251223.095 us0.5677 us0.6538 us22.753 us22.517 us24.332 us0.930.03----
LinkedList.NET Core 2.15125.420 us0.1111 us0.0985 us5.410 us5.327 us5.662 us1.000.00----
LinkedList2.25125.982 us0.1490 us0.1530 us5.938 us5.853 us6.452 us1.100.04----
HashSet.NET Core 2.151210.469 us0.6257 us0.7205 us10.540 us9.063 us11.418 us1.000.00----
HashSet2.251211.560 us0.5536 us0.6375 us11.590 us10.312 us12.520 us1.110.10----
Dictionary.NET Core 2.15128.617 us0.6234 us0.7179 us8.594 us6.912 us9.887 us1.000.00----
Dictionary2.25128.661 us0.6137 us0.7068 us8.786 us7.091 us9.644 us1.010.13----
SortedList.NET Core 2.151253.208 us0.1303 us0.1017 us53.230 us53.002 us53.333 us1.000.00----
SortedList2.251252.016 us0.5059 us0.4485 us51.918 us51.204 us53.184 us0.980.01----
SortedSet.NET Core 2.151267.191 us2.1841 us2.5152 us65.588 us65.039 us73.305 us1.000.00----
SortedSet2.251268.372 us1.7252 us1.8460 us68.244 us65.734 us73.079 us1.020.04----
SortedDictionary.NET Core 2.151284.637 us1.7489 us1.9439 us84.699 us81.966 us88.960 us1.000.00----
SortedDictionary2.251285.881 us2.9176 us3.2429 us84.752 us81.980 us93.862 us1.010.02----
ConcurrentDictionary.NET Core 2.151232.375 us0.3961 us0.3512 us32.251 us32.026 us33.055 us1.000.00----
ConcurrentDictionary2.251232.962 us0.7782 us0.6899 us33.117 us32.090 us34.657 us1.020.02----
Stack.NET Core 2.15121.174 us0.0297 us0.0291 us1.160 us1.157 us1.237 us1.000.00----
Stack2.25121.131 us0.0958 us0.0941 us1.183 us1.023 us1.303 us0.970.09----
ConcurrentStack.NET Core 2.15125.325 us0.1006 us0.0941 us5.285 us5.249 us5.521 us1.000.00----
ConcurrentStack2.25125.402 us0.0928 us0.0775 us5.403 us5.310 us5.604 us1.010.03----
Queue.NET Core 2.15121.555 us0.1239 us0.1272 us1.460 us1.430 us1.730 us1.000.00----
Queue2.25121.436 us0.0071 us0.0060 us1.433 us1.433 us1.453 us0.910.08----
ConcurrentQueue.NET Core 2.15127.592 us0.1047 us0.0928 us7.597 us7.441 us7.758 us1.000.00----
ConcurrentQueue2.25127.496 us0.1438 us0.1539 us7.532 us7.190 us7.721 us0.990.03----
ConcurrentBag.NET Core 2.151213.349 us0.0846 us0.0707 us13.329 us13.268 us13.522 us1.000.00----
ConcurrentBag2.251213.511 us0.2078 us0.1842 us13.519 us13.234 us13.804 us1.010.01----

For T = string

MethodToolchainSizeMeanErrorStdDevMedian Min MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
List.NET Core 2.151246.693 us0.6193 us0.5171 us46.665 us46.076 us48.028 us1.000.00----
List2.251245.579 us0.5016 us0.4446 us45.416 us45.120 us46.707 us0.980.02----
ICollection.NET Core 2.151244.459 us0.1791 us0.1398 us44.449 us44.306 us44.854 us1.000.00----
ICollection2.251246.397 us0.1422 us0.1260 us46.393 us46.237 us46.653 us1.040.00----
LinkedList.NET Core 2.151211.175 us0.1456 us0.1362 us11.160 us10.831 us11.419 us1.000.00----
LinkedList2.251211.138 us0.0946 us0.0885 us11.146 us10.918 us11.271 us1.000.01----
HashSet.NET Core 2.151230.279 us1.1910 us1.3715 us30.859 us28.004 us32.808 us1.000.00----
HashSet2.251231.179 us0.8323 us0.8547 us31.624 us29.571 us31.926 us1.020.04----
Dictionary.NET Core 2.151222.366 us0.6929 us0.7979 us22.199 us21.407 us23.865 us1.000.00----
Dictionary2.251222.976 us0.7315 us0.8131 us23.082 us21.961 us24.020 us1.030.05----
SortedList.NET Core 2.1512447.515 us0.6044 us0.4718 us447.360 us447.022 us448.495 us1.000.00----
SortedList2.2512437.847 us1.1754 us0.9815 us437.820 us436.592 us440.482 us0.980.00----
SortedSet.NET Core 2.1512428.420 us0.4015 us0.3352 us428.369 us427.877 us428.937 us1.000.00----
SortedSet2.2512413.770 us0.7857 us0.6134 us413.675 us412.857 us415.129 us0.970.00----
SortedDictionary.NET Core 2.1512475.892 us0.4826 us0.4278 us475.826 us475.207 us476.764 us1.000.00----
SortedDictionary2.2512469.765 us0.5858 us0.5193 us469.644 us468.994 us470.895 us0.990.00----
ConcurrentDictionary.NET Core 2.151245.990 us0.8887 us0.9509 us45.516 us44.914 us47.105 us1.000.00----
ConcurrentDictionary2.251253.682 us1.0327 us0.8623 us53.070 us52.849 us54.752 us1.160.02----
Stack.NET Core 2.15122.698 us0.0889 us0.1024 us2.646 us2.593 us2.949 us1.000.00----
Stack2.25122.786 us0.0523 us0.0514 us2.766 us2.748 us2.923 us1.030.04----
ConcurrentStack.NET Core 2.15125.677 us0.0353 us0.0313 us5.661 us5.650 us5.753 us1.000.00----
ConcurrentStack2.25126.079 us0.0272 us0.0241 us6.077 us6.026 us6.116 us1.070.01----
Queue.NET Core 2.15122.995 us0.0138 us0.0122 us2.988 us2.986 us3.023 us1.000.00----
Queue2.25122.813 us0.3375 us0.3611 us2.624 us2.592 us3.631 us0.960.13----
ConcurrentQueue.NET Core 2.15126.960 us0.0352 us0.0275 us6.955 us6.926 us7.015 us1.000.00----
ConcurrentQueue2.25126.742 us0.1838 us0.2117 us6.650 us6.527 us7.084 us0.990.03----
ConcurrentBag.NET Core 2.151212.746 us0.3992 us0.4438 us12.933 us12.238 us13.547 us1.000.00----
ConcurrentBag2.251211.806 us0.0657 us0.0582 us11.794 us11.733 us11.910 us0.920.03----

from performance.

adamsitnik avatar adamsitnik commented on September 25, 2024

System.Collections.Sort

No significant difference. Difference visible in the results below gone after re-run.

For T = Int32
MethodToolchainSizeMeanErrorStdDevMedianMin MaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Array.NET Core 2.15124.062 us0.1839 us0.1806 us3.986 us3.903 us4.617 us1.000.00----
Array2.25124.059 us0.2554 us0.2509 us3.967 us3.883 us4.887 us1.000.08----
List.NET Core 2.15122.482 us0.0877 us0.0975 us2.513 us2.296 us2.615 us1.000.00----
List2.25122.355 us0.1095 us0.1024 us2.305 us2.295 us2.615 us0.960.07----
LinqQuery.NET Core 2.151252.518 us2.2913 us2.5468 us50.723 us50.371 us56.461 us1.000.00---6544 B
LinqQuery2.251264.859 us9.3317 us10.7464 us60.293 us55.980 us82.864 us1.220.22---6544 B
LinqOrderByExtension.NET Core 2.151268.683 us11.6686 us13.4376 us65.368 us55.601 us101.577 us1.000.00---6544 B
LinqOrderByExtension2.251254.375 us1.3379 us1.4870 us53.449 us53.124 us57.063 us0.830.14---6544 B

For T = string

MethodToolchainSizeMeanErrorStdDevMedianMinMaxRatioRatioSDGen 0/1k OpGen 1/1k OpGen 2/1k OpAllocated Memory/Op
Array.NET Core 2.1512587.0 us0.5920 us0.4943 us586.9 us586.4 us588.2 us1.000.00----
Array2.2512584.2 us13.1380 us14.6029 us575.8 us575.1 us621.9 us1.000.03----
List.NET Core 2.1512349.2 us7.7211 us8.8916 us349.7 us339.8 us367.5 us1.000.00----
List2.2512339.4 us8.2921 us9.5492 us333.6 us332.2 us366.2 us0.970.02----
LinqQuery.NET Core 2.1512649.9 us17.7282 us19.7049 us639.2 us638.2 us712.8 us1.000.001.0000--10640 B
LinqQuery2.2512642.1 us13.0776 us11.5930 us636.5 us635.8 us666.6 us0.980.031.0000--10640 B
LinqOrderByExtension.NET Core 2.1512645.6 us17.6340 us18.8682 us637.0 us635.8 us705.0 us1.000.001.0000--10640 B
LinqOrderByExtension2.2512654.7 us12.6411 us12.4152 us648.2 us647.0 us679.3 us1.010.021.0000--10640 B

from performance.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.