runtime: Performance regression: SpanCastBenchmark on AMD
System.Numerics.Tests.Constructor
defines two kinds of benchmarks: ConstructorBenchmark and SpanCastBenchmark. All the ConstructorBenchmark
benchmarks have improved for 3.0. However, SpanCastBenchmark
has regressed on AMD.
Repro
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 *SpanCastBenchmark*
# if you do
dotnet run -p .\src\benchmarks\micro\MicroBenchmarks.csproj -c Release -f netcoreapp2.2 --runtimes netcoreapp2.2 netcoreapp3.0 --filter *SpanCastBenchmark*
BenchmarkDotNet=v0.11.3.1003-nightly, OS=Windows 10.0.18362
AMD Ryzen 7 1800X, 1 CPU, 16 logical and 8 physical cores
Job-ZOELMG : .NET Core 2.2.6 (CoreCLR 4.6.27817.03, CoreFX 4.6.27818.02), 64bit RyuJIT
Job-PXOTIF : .NET Core 3.0.0-preview8-27919-09 (CoreCLR 4.700.19.36901, CoreFX 4.700.19.36905), 64bit RyuJIT
Method | Mean 2.2 | Mean 3.0 |
---|---|---|
SpanCastBenchmark_Byte | 0.6217 ns | 2.683 ns |
SpanCastBenchmark_SByte | 0.7052 ns | 2.659 ns |
SpanCastBenchmark_UInt16 | 0.5903 ns | 2.929 ns |
SpanCastBenchmark_Int16 | 0.7791 ns | 2.930 ns |
SpanCastBenchmark_UInt32 | 0.5929 ns | 2.931 ns |
SpanCastBenchmark_Int32 | 0.7792 ns | 2.947 ns |
SpanCastBenchmark_UInt64 | 0.7793 ns | 2.929 ns |
SpanCastBenchmark_Int64 | 0.7793 ns | 2.930 ns |
SpanCastBenchmark_Single | 0.5933 ns | 2.931 ns |
SpanCastBenchmark_Double | 0.7880 ns | 2.878 ns |
ConstructorBenchmark_Byte | 7.2329 ns | 2.657 ns |
ConstructorBenchmark_SByte | 6.9651 ns | 2.658 ns |
ConstructorBenchmark_UInt16 | 7.2337 ns | 2.659 ns |
ConstructorBenchmark_Int16 | 7.2346 ns | 2.659 ns |
ConstructorBenchmark_UInt32 | 6.9655 ns | 2.658 ns |
ConstructorBenchmark_Int32 | 7.2319 ns | 2.663 ns |
ConstructorBenchmark_UInt64 | 7.2346 ns | 2.659 ns |
ConstructorBenchmark_Int64 | 7.2349 ns | 2.657 ns |
ConstructorBenchmark_Single | 7.2335 ns | 2.660 ns |
ConstructorBenchmark_Double | 7.2305 ns | 2.671 ns |
/cc @danmosemsft @tannergooding @AndyAyersMS @billwert @DrewScoggins
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 15 (15 by maintainers)
So it looks like we are now faster across the board in .NET Core 5.
I currently see:
vs