Open performanceautofiler[bot] opened 1 week ago
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | ffcef3dec5f16289a8f71f332091266529288d5c |
Compare | 36bcc2c96045c6793dcfe3151c51a0597537917a |
Diff | Diff |
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
|
22.74 ns | 26.82 ns | 1.18 | 0.04 | True | |||
|
16.64 ns | 22.57 ns | 1.36 | 0.09 | True | |||
|
16.24 ns | 22.25 ns | 1.37 | 0.07 | True | |||
|
40.57 ns | 43.83 ns | 1.08 | 0.06 | False | |||
|
18.23 ns | 23.81 ns | 1.31 | 0.04 | True | |||
|
23.23 ns | 26.75 ns | 1.15 | 0.06 | True | |||
|
15.28 ns | 21.27 ns | 1.39 | 0.01 | True | |||
|
15.51 ns | 21.09 ns | 1.36 | 0.00 | True | |||
|
17.05 ns | 23.38 ns | 1.37 | 0.01 | True | |||
|
18.64 ns | 25.52 ns | 1.37 | 0.05 | True | |||
|
14.59 ns | 21.18 ns | 1.45 | 0.00 | True | |||
|
13.54 ns | 19.96 ns | 1.47 | 0.01 | True | |||
|
10.32 ns | 16.58 ns | 1.61 | 0.04 | True | |||
|
41.61 ns | 47.83 ns | 1.15 | 0.07 | True | |||
|
52.67 ns | 58.80 ns | 1.12 | 0.04 | True | |||
|
49.82 ns | 55.40 ns | 1.11 | 0.02 | True | |||
|
12.63 ns | 18.94 ns | 1.50 | 0.06 | True | |||
|
17.60 ns | 23.57 ns | 1.34 | 0.07 | True | |||
|
14.25 ns | 20.41 ns | 1.43 | 0.00 | True | |||
|
12.98 ns | 19.03 ns | 1.47 | 0.01 | True | |||
|
23.50 ns | 28.54 ns | 1.21 | 0.09 | True | |||
|
17.10 ns | 23.60 ns | 1.38 | 0.01 | True | |||
|
21.14 ns | 26.54 ns | 1.26 | 0.01 | True | |||
|
34.29 ns | 45.53 ns | 1.33 | 0.05 | False | |||
|
15.51 ns | 20.38 ns | 1.31 | 0.11 | True | |||
|
11.10 ns | 17.22 ns | 1.55 | 0.01 | True |
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | ffcef3dec5f16289a8f71f332091266529288d5c |
Compare | 36bcc2c96045c6793dcfe3151c51a0597537917a |
Diff | Diff |
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
|
55.42 ns | 81.86 ns | 1.48 | 0.05 | False | |||
|
11.85 ns | 17.97 ns | 1.52 | 0.01 | True | |||
|
11.08 ns | 17.14 ns | 1.55 | 0.02 | True | |||
|
17.61 ns | 23.78 ns | 1.35 | 0.01 | True | |||
|
19.47 ns | 25.34 ns | 1.30 | 0.02 | True | |||
|
22.16 ns | 25.94 ns | 1.17 | 0.07 | True | |||
|
16.09 ns | 22.50 ns | 1.40 | 0.01 | True | |||
|
20.44 ns | 26.53 ns | 1.30 | 0.00 | True | |||
|
14.29 ns | 19.04 ns | 1.33 | 0.01 | True | |||
|
14.56 ns | 20.74 ns | 1.42 | 0.02 | True | |||
|
15.70 ns | 20.71 ns | 1.32 | 0.09 | True | |||
|
21.71 ns | 26.73 ns | 1.23 | 0.07 | True | |||
|
14.31 ns | 19.50 ns | 1.36 | 0.08 | True | |||
|
23.26 ns | 30.34 ns | 1.30 | 0.04 | True | |||
|
18.47 ns | 24.51 ns | 1.33 | 0.03 | True | |||
|
71.70 ns | 86.69 ns | 1.21 | 0.04 | False | |||
|
22.03 ns | 26.57 ns | 1.21 | 0.08 | True | |||
|
23.19 ns | 27.33 ns | 1.18 | 0.01 | True | |||
|
24.90 ns | 30.19 ns | 1.21 | 0.08 | True | |||
|
23.45 ns | 27.90 ns | 1.19 | 0.09 | True | |||
|
14.64 ns | 20.91 ns | 1.43 | 0.01 | True | |||
|
18.97 ns | 23.47 ns | 1.24 | 0.05 | True | |||
|
17.66 ns | 23.96 ns | 1.36 | 0.01 | True | |||
|
78.87 ns | 83.01 ns | 1.05 | 0.02 | False |
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | ffcef3dec5f16289a8f71f332091266529288d5c |
Compare | 36bcc2c96045c6793dcfe3151c51a0597537917a |
Diff | Diff |
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
|
17.17 ns | 20.91 ns | 1.22 | 0.06 | True | |||
|
106.52 ns | 114.70 ns | 1.08 | 0.01 | False | |||
|
97.73 ns | 110.12 ns | 1.13 | 0.02 | False | |||
|
12.41 ns | 18.68 ns | 1.51 | 0.00 | True | |||
|
21.63 ns | 27.26 ns | 1.26 | 0.05 | True | |||
|
21.57 ns | 26.24 ns | 1.22 | 0.03 | True | |||
|
29.48 ns | 35.78 ns | 1.21 | 0.02 | True | |||
|
14.88 ns | 20.45 ns | 1.37 | 0.01 | True | |||
|
11.12 ns | 17.40 ns | 1.56 | 0.03 | True | |||
|
24.10 ns | 29.83 ns | 1.24 | 0.01 | True | |||
|
24.59 ns | 30.14 ns | 1.23 | 0.01 | True | |||
|
11.08 ns | 17.50 ns | 1.58 | 0.00 | True | |||
|
15.24 ns | 21.89 ns | 1.44 | 0.00 | True | |||
|
33.88 ns | 39.51 ns | 1.17 | 0.01 | True | |||
|
21.66 ns | 26.84 ns | 1.24 | 0.08 | True | |||
|
431.19 ns | 460.99 ns | 1.07 | 0.03 | False | |||
|
29.99 ns | 32.97 ns | 1.10 | 0.03 | True | |||
|
26.82 ns | 33.12 ns | 1.23 | 0.00 | True | |||
|
21.88 ns | 27.93 ns | 1.28 | 0.01 | True | |||
|
21.92 ns | 28.02 ns | 1.28 | 0.07 | True | |||
|
12.99 ns | 19.57 ns | 1.51 | 0.01 | True | |||
|
14.87 ns | 20.82 ns | 1.40 | 0.01 | True | |||
|
15.05 ns | 20.87 ns | 1.39 | 0.00 | True |
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | ffcef3dec5f16289a8f71f332091266529288d5c |
Compare | 36bcc2c96045c6793dcfe3151c51a0597537917a |
Diff | Diff |
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
|
535.22 ΞΌs | 622.61 ΞΌs | 1.16 | 0.14 | False |
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | ffcef3dec5f16289a8f71f332091266529288d5c |
Compare | 36bcc2c96045c6793dcfe3151c51a0597537917a |
Diff | Diff |
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
|
117.16 ΞΌs | 126.85 ΞΌs | 1.08 | 0.07 | False |
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | ffcef3dec5f16289a8f71f332091266529288d5c |
Compare | 36bcc2c96045c6793dcfe3151c51a0597537917a |
Diff | Diff |
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
|
112.26 ns | 122.28 ns | 1.09 | 0.14 | False |
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | ffcef3dec5f16289a8f71f332091266529288d5c |
Compare | 36bcc2c96045c6793dcfe3151c51a0597537917a |
Diff | Diff |
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
|
470.26 ns | 686.55 ns | 1.46 | 0.08 | False |
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | ffcef3dec5f16289a8f71f332091266529288d5c |
Compare | 36bcc2c96045c6793dcfe3151c51a0597537917a |
Diff | Diff |
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
|
156.08 ΞΌs | 175.52 ΞΌs | 1.12 | 0.04 | False |
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | ffcef3dec5f16289a8f71f332091266529288d5c |
Compare | 36bcc2c96045c6793dcfe3151c51a0597537917a |
Diff | Diff |
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
|
402.95 ns | 483.41 ns | 1.20 | 0.07 | False |
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | ffcef3dec5f16289a8f71f332091266529288d5c |
Compare | 36bcc2c96045c6793dcfe3151c51a0597537917a |
Diff | Diff |
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
|
64.91 ΞΌs | 73.91 ΞΌs | 1.14 | 0.04 | False |
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | ffcef3dec5f16289a8f71f332091266529288d5c |
Compare | 36bcc2c96045c6793dcfe3151c51a0597537917a |
Diff | Diff |
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
|
943.92 ms | 1.38 secs | 1.46 | 0.06 | True |
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | ffcef3dec5f16289a8f71f332091266529288d5c |
Compare | 36bcc2c96045c6793dcfe3151c51a0597537917a |
Diff | Diff |
Configs | CompilationMode:tiered, LLVM:false, MonoAOT:false, MonoInterpreter:false, RunKind:micro_mono |
Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
---|---|---|---|---|---|---|---|---|
|
1.66 ΞΌs | 1.81 ΞΌs | 1.09 | 0.11 | False |
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Could those be related to https://github.com/dotnet/runtime/pull/109501 @stephentoub
The regressions are present for MonoAOT x64/arm64
Could those be related to #109501 @stephentoub
It'd be possible for there to be a small regression if mono isn't inlining the simple one-liners.
Run Information
Regressions in System.Numerics.Tests.Perf_BigInteger
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Repro Steps
#### Prerequisites (Build files either built locally or downloaded from payload above) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - Mono Runtime build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release ` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create mono dotnet mkdir -p $RunDir/artifacts/dotnet-mono $RunDir/build.sh -subset libs.pretest -configuration release -ci -arch $RunArch -testscope innerloop /p:RuntimeArtifactsPath=$RunDir/artifacts/bin/mono/$RunOS.$RunArch.Release /p:RuntimeFlavor=mono cp $RunDir/artifacts/bin/runtime/net8.0-$RunOS-Release-$RunArch/* $RunDir/artifacts/bin/testhost/net8.0-$RunOS-Release-$RunArch/shared/Microsoft.NETCore.App/8.0.0 -rf cp $RunDir/artifacts/bin/testhost/net8.0-$RunOS-Release-$RunArch/* $RunDir/artifacts/dotnet-mono -r cp $RunDir/artifacts/bin/coreclr/$RunOS.$RunArch.Release/corerun $RunDir/artifacts/dotnet-mono/shared/Microsoft.NETCore.App/8.0.0/corerun # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_BigInteger*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoInterpreter NoMono --logBuildOutput --generateBinLog --corerun $RunDir/artifacts/dotnet-mono/shared/Microsoft.NETCore.App/8.0.0/corerun" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter 'System.Numerics.Tests.Perf_BigInteger*' --anyCategories Libraries Runtime " --category-exclusion-filter NoInterpreter NoMono --logBuildOutput --generateBinLog --corerun $RunDir/artifacts/dotnet-mono/shared/Microsoft.NETCore.App/8.0.0/corerun --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create mono dotnet mkdir -p $RunDir/artifacts/dotnet-mono $RunDir/build.sh -subset libs.pretest -configuration release -ci -arch $RunArch -testscope innerloop /p:RuntimeArtifactsPath=$RunDir\artifacts\bin\mono\$RunOS.$RunArch.Release /p:RuntimeFlavor=mono xcopy $RunDir\artifacts\bin\runtime\net8.0-$RunOS-Release-$RunArch\ $RunDir\artifacts\bin\testhost\net8.0-$RunOS-Release-$RunArch\shared\Microsoft.NETCore.App\8.0.0\ /e /y xcopy $RunDir\artifacts\bin\testhost\net8.0-$RunOS-Release-$RunArch\ $RunDir\artifacts\dotnet-mono\ /e /y xcopy $RunDir\artifacts\bin\coreclr\$RunOS.$RunArch.Release\corerun $RunDir\artifacts\dotnet-mono\shared\Microsoft.NETCore.App\8.0.0\corerun /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_BigInteger*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoInterpreter NoMono --logBuildOutput --generateBinLog --corerun $RunDir\artifacts\dotnet-mono\shared\Microsoft.NETCore.App\8.0.0\corerun.exe" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter 'System.Numerics.Tests.Perf_BigInteger*' --anyCategories Libraries Runtime " --category-exclusion-filter NoInterpreter NoMono --logBuildOutput --generateBinLog --corerun $RunDir\artifacts\dotnet-mono\shared\Microsoft.NETCore.App\8.0.0\corerun.exe --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages ```