Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potential regression: Dictionary of Value Types #13137

Closed
adamsitnik opened this issue Jul 23, 2019 · 7 comments
Closed

Potential regression: Dictionary of Value Types #13137

adamsitnik opened this issue Jul 23, 2019 · 7 comments
Labels
area-System.Collections backlog-cleanup-candidate An inactive issue that has been marked for automated closure. tenet-performance Performance related issue
Milestone

Comments

@adamsitnik
Copy link
Member

It looks like TryGetValueFalse, IndexerSet and ContainsKeyFalse benchmarks have regressed for Dictionaries of Value Types (at least for int).

If you run the benchmarks from command prompt on Windows remember to escape the < and > characters https://stackoverflow.com/questions/251557/escape-angle-brackets-in-a-windows-command-prompt

git clone https://github.com/dotnet/performance.git
cd performance
# if you don't have cli installed and want python script to download the latest cli for you
py .\scripts\benchmarks_ci.py -f netcoreapp2.2 netcoreapp3.0 --filter System.Collections.TryGetValueFalse<Int32, Int32>.Dictionary  System.Collections.IndexerSet<Int32>.Dictionary System.Collections.ContainsKeyFalse<Int32, Int32>.Dictionary
# if you do
dotnet run -p .\src\benchmarks\micro\MicroBenchmarks.csproj -c Release -f netcoreapp2.2 --runtimes netcoreapp2.2 netcoreapp3.0 --filter System.Collections.TryGetValueFalse<Int32, Int32>.Dictionary  System.Collections.IndexerSet<Int32>.Dictionary System.Collections.ContainsKeyFalse<Int32, Int32>.Dictionary

Legend

  • Statistical Test threshold: 5%, the noise filter: 0.3 ns
  • Base is Median Base in ns
  • Diff is Median Diff in ns

System.Collections.TryGetValueFalse<Int32, Int32>.Dictionary(Size: 512)

Conclusion Base Diff Base/Diff Modality Operating System Bit Processor Name Base Runtime Diff Runtime
Slower 5272.73 6315.75 0.83 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 5929.86 7316.52 0.81 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4313.13 5340.58 0.81 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-28373-12
Same 8571.55 8548.39 1.00 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-28373-12
Same 3035.97 3185.19 0.95 Windows 10.0.18362 64bit AMD Ryzen 9 3900X .NET Core 2.2.6 .NET Core 3.0.0-preview8-28373-12
Slower 5295.43 6811.15 0.78 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 7988.74 10439.93 0.77 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 8264.68 10447.93 0.79 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 6485.37 8888.85 0.73 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 6297.27 5646.56 1.12 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 7174.97 6399.01 1.12 Windows 10.0.18362 32bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-28373-17
Slower 32078.14 33951.55 0.94 ubuntu 18.04 64bit ARMv8 Processor rev 1 (v8l) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 93115.14 94775.40 0.98 several? ubuntu 14.04 32bit ARMv7 Processor rev 3 (v7l) .NET Core 2.2.6 .NET Core 3.0.0-preview8-28374-06

System.Collections.IndexerSet.Dictionary(Size: 512)

Conclusion Base Diff Base/Diff Modality Operating System Bit Processor Name Base Runtime Diff Runtime
Slower 4804.04 5765.14 0.83 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 5766.95 6789.14 0.85 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4538.18 6164.41 0.74 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-28373-12
Same 6773.35 7097.48 0.95 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-28373-12
Same 4537.75 4711.93 0.96 Windows 10.0.18362 64bit AMD Ryzen 9 3900X .NET Core 2.2.6 .NET Core 3.0.0-preview8-28373-12
Same 5601.16 5854.49 0.96 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 7659.42 9554.84 0.80 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 7804.73 11132.91 0.70 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 5712.55 7655.82 0.75 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 5203.73 6903.26 0.75 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 6173.95 6962.59 0.89 Windows 10.0.18362 32bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-28373-17
Faster 39211.98 29385.91 1.33 ubuntu 18.04 64bit ARMv8 Processor rev 1 (v8l) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 90407.79 91136.81 0.99 several? ubuntu 14.04 32bit ARMv7 Processor rev 3 (v7l) .NET Core 2.2.6 .NET Core 3.0.0-preview8-28374-06

System.Collections.ContainsKeyFalse<Int32, Int32>.Dictionary(Size: 512)

Conclusion Base Diff Base/Diff Modality Operating System Bit Processor Name Base Runtime Diff Runtime
Slower 6995.21 7589.31 0.92 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 7161.96 7976.20 0.90 bimodal Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4861.98 5526.36 0.88 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-28373-12
Same 8120.85 8202.53 0.99 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-28373-12
Same 3230.05 3248.16 0.99 Windows 10.0.18362 64bit AMD Ryzen 9 3900X .NET Core 2.2.6 .NET Core 3.0.0-preview8-28373-12
Slower 5354.76 6665.70 0.80 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 7959.43 10153.53 0.78 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 8281.96 9986.59 0.83 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 6594.28 8422.68 0.78 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 5933.55 6667.76 0.89 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 7316.73 7969.62 0.92 Windows 10.0.18362 32bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-28373-17
Same 32302.57 33086.16 0.98 ubuntu 18.04 64bit ARMv8 Processor rev 1 (v8l) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 101528.99 84079.42 1.21 ubuntu 14.04 32bit ARMv7 Processor rev 3 (v7l) .NET Core 2.2.6 .NET Core 3.0.0-preview8-28374-06

System.Collections.TryGetValueTrue<Int32, Int32>.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Same 5194.73 5073.09 1.02 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 5234.50 5186.53 1.01 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 8061.81 8079.26 1.00 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 8380.88 8229.03 1.02 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 5759.74 5876.48 0.98 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 6052.86 5953.19 1.02 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4658.07 5555.07 0.84 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 7094.80 7649.99 0.93 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 5627.71 6355.82 0.89 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.CreateAddAndRemove.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Same 17701.49 17517.70 1.01 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 18452.02 17709.50 1.04 bimodal Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 29694.18 33165.93 0.90 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 31797.33 34541.30 0.92 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 20598.60 21475.80 0.96 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 20499.53 21339.19 0.96 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 15860.64 15598.53 1.02 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 24168.69 22836.90 1.06 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 20466.31 20372.86 1.00 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.IterateForEach.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Same 3003.86 2880.22 1.04 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 2880.91 3085.71 0.93 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 4691.82 4634.44 1.01 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 4671.38 4610.64 1.01 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 3232.59 3088.48 1.05 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 3076.07 3103.48 0.99 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 2266.42 2308.13 0.98 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 3090.96 3237.50 0.95 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 2750.85 2798.80 0.98 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.IterateForEach.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Same 3371.93 3368.18 1.00 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 3404.82 3251.40 1.05 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 5309.34 5329.04 1.00 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Slower 4921.87 5516.72 0.89 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 4250.64 4254.07 1.00 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 4103.80 4104.19 1.00 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 3103.42 3160.00 0.98 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 4872.76 4876.25 1.00 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 1602.23 1507.21 1.06 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.CtorFromCollection.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Same 7599.64 7435.50 1.02 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 7628.57 7153.13 1.07 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 12619.87 12488.09 1.01 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 12576.80 12608.67 1.00 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 8515.05 8768.64 0.97 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 8905.51 8576.95 1.04 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 6552.72 6875.59 0.95 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 8703.53 8874.56 0.98 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 8519.41 8436.37 1.01 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.ContainsKeyTrue<Int32, Int32>.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 4544.10 3676.81 1.24 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 4280.00 3957.07 1.08 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 6041.30 5970.68 1.01 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 5829.06 6126.16 0.95 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 4261.07 4323.67 0.99 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 5741.74 4618.07 1.24 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 3280.15 3676.56 0.89 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 5509.53 5859.87 0.94 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 4948.77 6803.44 0.73 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.TryAddDefaultSize.Dictionary(Count: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Same 11678.56 12234.64 0.95 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 12453.23 13135.74 0.95 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 20399.68 23070.23 0.88 several? ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 21411.61 22531.40 0.95 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 15574.27 14700.11 1.06 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 14956.01 13893.13 1.08 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 10656.56 10075.52 1.06 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 18632.48 15756.03 1.18 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 14185.75 14149.19 1.00 bimodal Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.CreateAddAndClear.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 12966.89 12161.91 1.07 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 12154.61 12018.09 1.01 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 21596.98 24235.24 0.89 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 22853.63 21772.18 1.05 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 14398.43 14781.05 0.97 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 14327.71 15141.58 0.95 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 10954.89 9876.63 1.11 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 17677.40 16550.38 1.07 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 14840.39 14675.31 1.01 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.AddGivenSize.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Same 7273.88 7124.56 1.02 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 7587.89 7258.82 1.05 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 11995.41 12786.21 0.94 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 12782.59 12184.82 1.05 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 8707.46 7956.41 1.09 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 8500.30 7716.40 1.10 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 6401.37 6615.31 0.97 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 8068.01 8382.09 0.96 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 8482.18 7973.79 1.06 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.TryAddGiventSize.Dictionary(Count: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Same 7279.07 6976.97 1.04 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 6970.00 6678.90 1.04 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 12893.92 13239.60 0.97 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 12699.59 12571.00 1.01 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 8538.66 8460.38 1.01 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 8425.09 8062.77 1.04 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 6321.64 5905.14 1.07 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 8204.06 8028.82 1.02 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 8242.49 7812.25 1.06 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.Concurrent.IsEmpty.Dictionary(Size: 0)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 251.56 236.93 1.06 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 217.89 192.24 1.13 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 134.83 136.06 0.99 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 138.89 139.18 1.00 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 93.91 87.48 1.07 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 82.25 84.66 0.97 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 133.22 138.36 0.96 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 328.49 313.21 1.05 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 236.24 214.82 1.10 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.CtorDefaultSize.Dictionary

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 90.71 78.00 1.16 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 64.30 64.61 1.00 several? Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 154.71 138.37 1.12 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 162.98 141.59 1.15 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 98.04 87.51 1.12 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 72.19 68.55 1.05 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 53.97 51.92 1.04 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 73.62 66.43 1.11 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 78.24 63.68 1.23 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.CtorGivenSize.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 853.72 802.14 1.06 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 787.32 770.44 1.02 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 1505.12 1365.45 1.10 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 1433.72 1365.16 1.05 several? ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 1171.62 1164.09 1.01 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 921.11 983.63 0.94 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 539.01 566.64 0.95 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 1160.66 630.28 1.84 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 658.39 651.35 1.01 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.CtorGivenSize.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Same 571.10 543.17 1.05 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 528.64 512.22 1.03 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 1011.14 902.18 1.12 bimodal ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 963.46 971.86 0.99 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Same 791.36 761.59 1.04 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 610.48 611.34 1.00 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 354.42 361.46 0.98 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 736.38 408.62 1.80 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 559.69 547.62 1.02 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.TryAddDefaultSize.Dictionary(Count: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 28207.52 23258.19 1.21 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 27086.47 22896.84 1.18 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 47680.40 43078.16 1.11 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 48569.49 42167.41 1.15 several? ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 33700.22 27433.74 1.23 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 31552.95 27398.83 1.15 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 22250.29 19139.31 1.16 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 36224.75 29298.68 1.24 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 26046.30 21879.92 1.19 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.CreateAddAndClear.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 28667.42 23548.60 1.22 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 27621.61 23601.45 1.17 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 48636.39 41526.00 1.17 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 50315.68 41718.74 1.21 bimodal ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 34333.88 28505.54 1.20 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 32172.51 28224.23 1.14 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 22859.11 19321.35 1.18 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 36481.48 29721.37 1.23 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 26528.62 23418.55 1.13 bimodal Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.CreateAddAndRemove.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 48069.48 39942.91 1.20 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 47123.88 39203.86 1.20 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 80249.26 70160.91 1.14 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 85761.66 71548.10 1.20 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 55491.41 46829.23 1.18 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 54927.32 44042.79 1.25 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 40208.73 33611.44 1.20 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 55272.34 45439.19 1.22 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 44827.99 40444.86 1.11 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.IndexerSet.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 20675.47 15230.89 1.36 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 20194.46 15513.44 1.30 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 32071.87 24248.56 1.32 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 31500.21 26681.85 1.18 several? ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 24550.56 19046.64 1.29 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 23401.05 17870.68 1.31 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 17357.95 15724.87 1.10 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 23032.18 20222.18 1.14 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 16815.31 17960.88 0.94 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.ContainsKeyTrue<String, String>.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 18266.12 13344.64 1.37 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 16833.89 14102.05 1.19 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 28704.82 21049.67 1.36 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 29612.18 22465.43 1.32 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 20708.04 15567.50 1.33 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 19124.84 15928.88 1.20 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 16182.61 11271.75 1.44 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 20455.57 17127.64 1.19 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 16466.09 16388.59 1.00 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.CtorFromCollection.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 21791.01 16444.40 1.33 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 21389.91 16250.77 1.32 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 36807.47 28643.79 1.29 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 35096.07 28424.47 1.23 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 25742.03 18869.65 1.36 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 24231.20 18830.84 1.29 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 18341.36 14155.77 1.30 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 24404.04 20471.91 1.19 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 19265.24 14981.31 1.29 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.TryGetValueFalse<String, String>.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 17761.97 12785.89 1.39 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 16099.17 13254.93 1.21 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 27971.51 20633.79 1.36 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 28805.73 21631.65 1.33 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 20443.39 14297.54 1.43 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 18412.29 15005.62 1.23 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 15407.42 10071.44 1.53 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 20898.22 16360.82 1.28 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Slower 13628.61 15021.99 0.91 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.TryAddGiventSize.Dictionary(Count: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 21459.90 16373.78 1.31 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 21164.92 16051.18 1.32 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 36405.59 28090.61 1.30 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 38089.32 29026.59 1.31 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 25448.68 18402.92 1.38 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 24570.11 18287.97 1.34 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 17556.47 13378.44 1.31 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 23931.91 19455.30 1.23 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 18856.41 15322.55 1.23 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.TryGetValueTrue<String, String>.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 19799.95 14226.80 1.39 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 18421.70 14209.94 1.30 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 31125.84 22523.90 1.38 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 32749.70 24159.19 1.36 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 22806.45 16593.35 1.37 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 21483.98 16568.36 1.30 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 17323.69 12966.12 1.34 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 22336.25 19391.06 1.15 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 18344.99 15375.17 1.19 bimodal Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.AddGivenSize.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 21741.80 15534.18 1.40 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 21060.82 15606.88 1.35 bimodal Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 36003.59 26562.07 1.36 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 38583.04 27579.71 1.40 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 25625.07 19859.45 1.29 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 24423.75 18442.88 1.32 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 17824.92 13257.09 1.34 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 24130.71 19364.14 1.25 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 19449.74 15223.92 1.28 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.CtorDefaultSize.Dictionary

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 12.18 9.43 1.29 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 11.05 8.28 1.33 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 20.94 16.94 1.24 several? ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 21.98 18.78 1.17 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 14.07 11.42 1.23 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 13.22 9.66 1.37 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 8.87 6.18 1.44 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 13.87 8.03 1.73 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 7.85 5.69 1.38 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

System.Collections.ContainsKeyFalse<String, String>.Dictionary(Size: 512)

conclusion Base Diff Base/Diff Modality Operating System Arch Processor Name Base Runtime Diff Runtime
Faster 16831.37 10258.00 1.64 ubuntu 18.04 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 15797.53 10531.75 1.50 Windows 10.0.18362 64bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 25910.66 16292.41 1.59 ubuntu 16.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 26962.33 17381.47 1.55 ubuntu 18.04 64bit Intel Xeon CPU E5-2673 v4 2.30GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-01
Faster 19288.75 11842.58 1.63 macOS Mojave 10.14.5 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 17575.18 11974.48 1.47 Windows 10.0.18362 64bit Intel Core i7-5557U CPU 3.10GHz (Broadwell) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 14757.73 10677.82 1.38 Windows 10.0.18362 64bit Intel Core i7-7700 CPU 3.60GHz (Kaby Lake) .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Faster 19752.07 14697.61 1.34 Windows 10.0.18362 64bit AMD Ryzen 7 1800X .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09
Same 12613.78 12933.80 0.98 Windows 10.0.18362 32bit Intel Xeon CPU E5-1650 v4 3.60GHz .NET Core 2.2.6 .NET Core 3.0.0-preview8-27919-09

/cc @danmosemsft @AndyAyersMS @billwert @DrewScoggins

@safern
Copy link
Member

safern commented Aug 8, 2019

@adamsitnik thanks for the finding, will you be following up on this issue, to assign it to you?

@BruceForstall
Copy link
Member

@safern @adamsitnik Does this need to be a 3.0 issue?

@danmoseley
Copy link
Member

@adamsitnik System.Collections.IndexerSet.Dictionary(Size: 512) appears twice, because of two GenericTypeArguments. From your comments it sounds like the first one is the typeof(int) one but I wonder whether BDN could somehow disambiguate it's output? Even if it was the index of the parameter (1, 2)

@danmoseley
Copy link
Member

My take (I am interested in @billwert @safern @adamsitnik thoughts) is that we probably do not want to attempt to address this in 3.0 because the code here (whether in Dictionary or codegen) is subtle and easy to regress perf elsewhere. We have some great wins in many other common scenarios here and we can see whether we get feedback on this scenario.

@billwert
Copy link
Member

Doesn't sound like it meets any bar for 3.0 to me. Agree we should act based on feedback.

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@maryamariyan maryamariyan added the untriaged New issue has not been triaged by the area owner label Feb 26, 2020
@layomia layomia removed the untriaged New issue has not been triaged by the area owner label Jun 24, 2020
@ghost
Copy link

ghost commented Oct 26, 2021

Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process.

This process is part of the experimental issue cleanup initiative we are currently trialing in a limited number of areas. Please share any feedback you might have in the linked issue.

@ghost
Copy link

ghost commented Nov 9, 2021

This issue will now be closed since it had been marked no recent activity but received no further activity in the past 14 days. It is still possible to reopen or comment on the issue, but please note that the issue will be locked if it remains inactive for another 30 days.

@ghost ghost closed this as completed Nov 9, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Dec 9, 2021
@eiriktsarpalis eiriktsarpalis added the backlog-cleanup-candidate An inactive issue that has been marked for automated closure. label Feb 18, 2022
@ghost ghost removed the no-recent-activity label Feb 18, 2022
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Collections backlog-cleanup-candidate An inactive issue that has been marked for automated closure. tenet-performance Performance related issue
Projects
None yet
Development

No branches or pull requests

9 participants