Skip to content

MathF.ScaleB performance in Windows 10 much worse than Ubuntu 20.04 #40956

@alexcovington

Description

@alexcovington

Description

When running the System.MathBenchmarks.Single.ScaleB and System.MathBenchmarks.Double.ScaleB benchmarks from dotnet/performance, there seems to be a significant performance difference between Windows 10 and Ubuntu 20.04 where Windows is taking around 10x as long to complete the benchmark.

I'm running the benchmarks using benchmarks_ci.py on both machines with the same arguments:

py .\scripts\benchmarks_cip.py -c Release -f netcoreapp5.0 --filter 'System.MathBenchmarks.*.ScaleB' --bdn-arguments '--iterationCount 30'

Configuration

See Benchmark.NET results below. I'm happy to lookup any details about either machine.

Regression?

No.

Data

Linux Results

[2020/08/17 15:32:50][INFO] // * Summary *                                                                                                
[2020/08/17 15:32:50][INFO]                                                                                                               
[2020/08/17 15:32:50][INFO] BenchmarkDotNet=v0.12.1.1405-nightly, OS=ubuntu 20.04                           
[2020/08/17 15:32:50][INFO] AMD Ryzen 5 3600, 1 CPU, 12 logical and 6 physical cores                            
[2020/08/17 15:32:50][INFO] .NET Core SDK=5.0.100-rc.1.20413.9                                
[2020/08/17 15:32:50][INFO]   [Host]     : .NET Core 5.0.0 (CoreCLR 5.0.20.40416, CoreFX 5.0.20.40416), X64 RyuJIT   
[2020/08/17 15:32:50][INFO]   Job-YEQPTW : .NET Core 5.0.0 (CoreCLR 5.0.20.40416, CoreFX 5.0.20.40416), X64 RyuJIT    
[2020/08/17 15:32:50][INFO]  
[2020/08/17 15:32:50][INFO] PowerPlanMode=00000000-0000-0000-0000-000000000000  Runtime=.NET Core 5.0  Arguments=/p:DebugType=portable    
[2020/08/17 15:32:50][INFO] Toolchain=netcoreapp5.0  IterationCount=30  IterationTime=250.0000 ms
[2020/08/17 15:32:50][INFO] MaxIterationCount=20  MinIterationCount=15  WarmupCount=1
[2020/08/17 15:32:50][INFO]
[2020/08/17 15:32:50][INFO] |   Type | Method |     Mean |    Error |   StdDev |   Median |      Min |      Max | Gen 0 | Gen 1 | Gen 2 | Allocated |
[2020/08/17 15:32:50][INFO] |------- |------- |---------:|---------:|---------:|---------:|---------:|---------:|------:|------:|------:|----------:|
[2020/08/17 15:32:50][INFO] | Double | ScaleB | 29.34 us | 0.216 us | 0.288 us | 29.54 us | 28.95 us | 29.80 us |     - |     - |     - |         - |
[2020/08/17 15:32:50][INFO] | Single | ScaleB | 27.27 us | 0.001 us | 0.002 us | 27.27 us | 27.26 us | 27.27 us |     - |     - |     - |         - |
[2020/08/17 15:32:50][INFO]

Windows Results

[2020/08/17 15:34:23][INFO] // * Summary *
[2020/08/17 15:34:23][INFO]
[2020/08/17 15:34:23][INFO] BenchmarkDotNet=v0.12.1.1405-nightly, OS=Windows 10.0.19041.450 (2004/May2020Update/20H1)
[2020/08/17 15:34:23][INFO] AMD Ryzen 5 3600, 1 CPU, 12 logical and 6 physical cores
[2020/08/17 15:34:23][INFO] .NET Core SDK=5.0.100-rc.1.20413.9
[2020/08/17 15:34:23][INFO]   [Host]     : .NET Core 5.0.0 (CoreCLR 5.0.20.40416, CoreFX 5.0.20.40416), X64 RyuJIT
[2020/08/17 15:34:23][INFO]   Job-KFXTTL : .NET Core 5.0.0 (CoreCLR 5.0.20.40416, CoreFX 5.0.20.40416), X64 RyuJIT
[2020/08/17 15:34:23][INFO]
[2020/08/17 15:34:23][INFO] PowerPlanMode=00000000-0000-0000-0000-000000000000  Runtime=.NET Core 5.0  Arguments=/p:DebugType=portable
[2020/08/17 15:34:23][INFO] Toolchain=netcoreapp5.0  IterationCount=30  IterationTime=250.0000 ms
[2020/08/17 15:34:23][INFO] MaxIterationCount=20  MinIterationCount=15  WarmupCount=1
[2020/08/17 15:34:23][INFO]
[2020/08/17 15:34:23][INFO] |   Type | Method |     Mean |   Error |  StdDev |   Median |      Min |      Max | Gen 0 | Gen 1 | Gen 2 | Allocated |
[2020/08/17 15:34:23][INFO] |------- |------- |---------:|--------:|--------:|---------:|---------:|---------:|------:|------:|------:|----------:|
[2020/08/17 15:34:23][INFO] | Double | ScaleB | 275.3 us | 0.55 us | 0.81 us | 275.1 us | 274.2 us | 277.4 us |     - |     - |     - |         - |
[2020/08/17 15:34:23][INFO] | Single | ScaleB | 320.4 us | 0.74 us | 1.09 us | 320.5 us | 318.8 us | 323.1 us |     - |     - |     - |         - |
[2020/08/17 15:34:23][INFO]

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions