dotnet / perf-autofiling-issues

A landing place for auto-filed performance issues before they receive triage
MIT License
9 stars 4 forks source link

[Perf] Linux/arm64: 1235 Regressions on 3/11/2024 6:43:09 PM #31508

Closed performanceautofiler[bot] closed 6 months ago

performanceautofiler[bot] commented 6 months ago
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.36 ns 1.83 ns 5.13 0.41 False
0.28 ns 1.75 ns 6.34 0.38 False
1.09 ns 2.83 ns 2.58 0.49 False
1.03 ns 2.25 ns 2.19 0.26 False
0.99 ns 3.35 ns 3.39 0.56 False
0.47 ns 1.75 ns 3.75 0.36 False
0.52 ns 2.85 ns 5.49 0.57 False
0.40 ns 1.79 ns 4.48 0.40 False
0.39 ns 1.77 ns 4.54 0.39 False
1.13 ns 3.87 ns 3.44 0.38 False
0.29 ns 1.83 ns 6.38 0.38 False
1.13 ns 3.25 ns 2.86 0.53 False
1.51 ns 3.73 ns 2.47 0.49 False
1.02 ns 3.61 ns 3.52 0.57 False
1.08 ns 3.85 ns 3.56 0.54 False
0.13 ns 2.50 ns 19.72 0.19 False
0.93 ns 3.46 ns 3.72 0.51 False
1.11 ns 3.32 ns 2.99 0.38 False
0.00 ns 1.76 ns 0.38 False
0.48 ns 1.87 ns 3.90 0.37 False
0.50 ns 1.80 ns 3.62 0.38 False
1.12 ns 3.38 ns 3.01 0.42 False
1.01 ns 3.41 ns 3.37 0.44 False
1.13 ns 3.73 ns 3.30 0.52 False
0.38 ns 1.76 ns 4.60 0.41 False
0.42 ns 1.80 ns 4.26 0.34 False
0.97 ns 2.86 ns 2.94 0.44 False
22.60 ns 24.76 ns 1.10 0.04 False
1.15 ns 2.80 ns 2.44 0.48 False
1.14 ns 3.35 ns 2.93 0.50 False
1.12 ns 2.74 ns 2.45 0.28 False
1.00 ns 3.77 ns 3.78 0.44 False
0.98 ns 2.89 ns 2.95 0.46 False
1.09 ns 3.32 ns 3.04 0.45 False
0.00 ns 2.53 ns 0.18 False
1.18 ns 2.78 ns 2.37 0.23 False
0.03 ns 2.92 ns 86.92 0.29 False
1.10 ns 3.25 ns 2.95 0.41 False
1.14 ns 2.87 ns 2.53 0.50 False
22.52 ns 24.58 ns 1.09 0.03 False
1.10 ns 2.89 ns 2.62 0.55 False
1.01 ns 3.69 ns 3.64 0.42 False
1.04 ns 4.00 ns 3.85 0.49 False
0.93 ns 4.32 ns 4.64 0.48 False
performanceautofiler[bot] commented 6 months ago

H3oh8zhKegk2dArGfuISnOdr77wxFmRvtkreO1UWhTIiMz3Hmd4UcH55QbYa4/6LyfwVEYP+IYHwo+alsM2kAuT0+QioUMnx+9/CyPVYq7lY1EQIrcwX71jLSpTtaqxz8L6y5BfzrCA8954+pjw7uxj/wbGGx+GxVno0Sf+Lp50BVgj0XOvmvDT/EFLoo1D5WiBFhvpSktkdlTAgK9v4D9QjbYMO2Kk2Z+W1bP9yF/6DOVELoaALO13otKm6oUVDfcHLKWqpXaSr8H1zhSJ/V+or6pfbNtZFNuvPumY4WVIPUvuqtrG3W/1YU2sDprpav22PTUqyc8tlxQ5Zzi24KfD7UX+4E8U78cs0HhxE/YO9YW9vGMd78f7zKDqIIpfC1JK6XdwC47i4lHzpt4augpA9C9hVcy9DuBm90HXS5xpqIJ8K9TearwfwDExd2gSp6ty/s5NVfHRNU7cgp0EQstbKGSdvUYDKy2YTcYfVLlzJSN8AmdtjVnC07EbYgvmGDg9MstGEbJnpspYquV9Ts4qbZFUEgVbYEhLvDR0dXTbNeukkzFcmcDFT0TWR8CWY4DebEEaGDgUAAA==>) | 0.17 ns | 1.95 ns | 11.38 | 0.40 | False | | | |

| 1.11 ns | 2.65 ns | 2.39 | 0.30 | False | | |

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.SumBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.AllBitsSetBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int32>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Numerics.Tests.Perf_VectorOf<Single>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.69 ns 3.58 ns 5.21 0.35 False
0.22 ns 1.86 ns 8.55 0.28 False
0.41 ns 1.79 ns 4.36 0.30 False
1.19 ns 3.80 ns 3.19 0.33 False
0.42 ns 1.77 ns 4.25 0.29 False
1.29 ns 2.74 ns 2.12 0.30 False
0.00 ns 2.95 ns 0.26 False
1.08 ns 3.19 ns 2.96 0.35 False
0.30 ns 1.75 ns 5.73 0.30 False
1.16 ns 3.21 ns 2.75 0.35 False
1.13 ns 2.93 ns 2.58 0.33 False
0.06 ns 1.93 ns 32.95 0.37 False
0.35 ns 1.77 ns 4.99 0.30 False
1.11 ns 2.49 ns 2.24 0.34 False
0.42 ns 1.72 ns 4.09 0.34 False
1.14 ns 3.28 ns 2.89 0.30 False
0.00 ns 2.48 ns 2187.99 0.39 False
1.08 ns 3.50 ns 3.25 0.34 False
1.25 ns 3.00 ns 2.39 0.34 False
0.00 ns 2.55 ns 0.33 False
1.13 ns 2.78 ns 2.46 0.22 False
1.35 ns 3.20 ns 2.38 0.30 False
1.09 ns 2.91 ns 2.67 0.29 False
1.12 ns 2.49 ns 2.22 0.35 False
1.26 ns 2.47 ns 1.96 0.36 False
0.47 ns 1.80 ns 3.80 0.33 False
0.90 ns 3.03 ns 3.37 0.29 False
1.07 ns 2.94 ns 2.75 0.34 False
1.10 ns 2.17 ns 1.97 0.31 False
0.96 ns 3.28 ns 3.43 0.30 False
1.10 ns 2.95 ns 2.67 0.38 False
1.17 ns 2.99 ns 2.56 0.29 False
0.57 ns 1.76 ns 3.09 0.41 False
1.04 ns 2.49 ns 2.39 0.38 False
0.74 ns 1.77 ns 2.40 0.30 False
1.07 ns 2.98 ns 2.80 0.36 False
0.45 ns 1.85 ns 4.09 0.29 False
1.28 ns 2.73 ns 2.13 0.32 False
1.06 ns 3.18 ns 3.01 0.33 False
0.98 ns 3.27 ns 3.34 0.34 False
0.42 ns 1.75 ns 4.20 0.32 False
1.15 ns 2.40 ns 2.09 0.31 False
1.07 ns 2.92 ns 2.72 0.25 False
1.17 ns 3.00 ns 2.57 0.39 False
1.15 ns 3.20 ns 2.78 0.36 False

graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19_2024/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoInterpreter%3Dfalse_RunKind%3Dmi

performanceautofiler[bot] commented 6 months ago

cro_mono_Regression/System.Numerics.Tests.Perf_VectorOf%28Single%29_2.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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_VectorOf<Single>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<Single>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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_VectorOf<Single>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<Single>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Numerics.Tests.Perf_VectorOf<Single>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.OneBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Single>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128Float

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.90 ns 2.63 ns 2.94 0.42 False
0.96 ns 2.76 ns 2.89 0.39 False
0.94 ns 2.14 ns 2.27 0.39 False
0.87 ns 2.18 ns 2.50 0.41 False
0.93 ns 2.29 ns 2.47 0.38 False
0.83 ns 2.60 ns 3.14 0.33 False
1.08 ns 3.30 ns 3.05 0.43 False
1.12 ns 2.16 ns 1.93 0.40 False
0.92 ns 2.48 ns 2.70 0.33 False
0.89 ns 3.48 ns 3.92 0.38 False
1.18 ns 2.79 ns 2.35 0.38 False
1.01 ns 2.15 ns 2.12 0.36 False
0.82 ns 2.36 ns 2.87 0.30 False
0.83 ns 3.01 ns 3.64 0.38 False
0.96 ns 2.08 ns 2.16 0.32 False
0.93 ns 2.64 ns 2.84 0.35 False
1.07 ns 2.23 ns 2.07 0.42 False
1.08 ns 2.23 ns 2.06 0.40 False
0.85 ns 3.02 ns 3.53 0.42 False
0.08 ns 1.69 ns 21.21 0.36 False
0.91 ns 2.69 ns 2.94 0.41 False
1.01 ns 2.10 ns 2.07 0.40 False
0.99 ns 2.10 ns 2.13 0.41 False
1.02 ns 3.05 ns 2.97 0.34 False
1.01 ns 2.82 ns 2.79 0.37 False
0.94 ns 2.72 ns 2.89 0.45 False
0.95 ns 2.63 ns 2.78 0.39 False
1.04 ns 2.62 ns 2.52 0.35 False
0.00 ns 1.83 ns 0.25 False
0.97 ns 2.63 ns 2.72 0.37 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128Float*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Float* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128Float*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Float* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.SquareRootBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.SumBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Float.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Numerics.Tests.Perf_VectorOf<SByte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.99 ns 3.03 ns 3.06 0.33 False
0.02 ns 2.47 ns 119.98 0.29 False
0.54 ns 1.77 ns 3.29 0.27 False
0.45 ns 1.75 ns 3.92 0.29 False
1.11 ns 2.66 ns 2.40 0.34 False
1.10 ns 2.96 ns 2.70 0.36 False
1.17 ns 3.19 ns 2.72 0.35 False
0.43 ns 1.76 ns 4.08 0.38 False
0.39 ns 1.77 ns 4.56 0.29 False
1.23 ns 3.23 ns 2.63 0.33 False
1.19 ns 2.49 ns 2.08 0.34 False
0.34 ns 1.81 ns 5.38 0.33 False
1.08 ns 2.47 ns 2.29 0.31 False
1.19 ns 2.95 ns 2.48 0.36 False
0.18 ns 1.92 ns 10.79 0.33 False
1.05 ns 2.54 ns 2.42 0.35 False
1.15 ns 2.97 ns 2.59 0.33 False
1.14 ns 2.99 ns 2.62 0.30 False
1.35 ns 3.15 ns 2.33 0.32 False
0.40 ns 1.87 ns 4.67 0.30 False
1.04 ns 2.73 ns 2.62 0.28 False
0.47 ns 1.75 ns 3.70 0.28 False
1.12 ns 2.90 ns 2.59 0.28 False
1.14 ns 2.91 ns 2.55 0.37 False
1.32 ns 3.60 ns 2.73 0.34 False
0.08 ns 2.96 ns 35.06 0.30 False
1.07 ns 2.88 ns 2.68 0.35 False
1.18 ns 3.00 ns 2.54 0.34 False
0.19 ns 1.74 ns 9.13 0.45 False
1.25 ns 2.71 ns 2.18 0.34 False
1.27 ns 3.16 ns 2.49 0.29 False
1.06 ns 3.00 ns 2.84 0.31 False
1.11 ns 3.19 ns 2.88 0.37 False
0.28 ns 1.78 ns 6.43 0.28 False
2.00 ns 3.11 ns 1.56 0.33 False
1.03 ns 2.47 ns 2.40 0.35 False
1.33 ns 2.94 ns 2.21 0.33 False
0.44 ns 1.82 ns 4.18 0.33 False
1.18 ns 3.16 ns 2.69 0.35 False
0.77 ns 1.99 ns 2.58 0.37 False
0.28 ns 1.79 ns 6.31 0.33 False
1.15 ns 3.43 ns 2.99 0.33 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19_2024/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue

performanceautofiler[bot] commented 6 months ago

_MonoInterpreter%3Dfalse_RunKind%3Dmicro_mono_Regression/System.Numerics.Tests.Perf_VectorOf%28SByte%29_18.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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_VectorOf<SByte>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<SByte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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_VectorOf<SByte>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<SByte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Numerics.Tests.Perf_VectorOf<SByte>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<SByte>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Memory.Span<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
23.85 ns 27.82 ns 1.17 0.04 False
41.26 ns 45.59 ns 1.11 0.04 False
8.20 ns 12.48 ns 1.52 0.13 False
9.81 ns 15.17 ns 1.55 0.17 False
18.69 ns 23.62 ns 1.26 0.07 False
19.24 ns 23.16 ns 1.20 0.07 False
14.22 ns 18.16 ns 1.28 0.03 False
35.45 ns 45.12 ns 1.27 0.14 False
18.87 ns 22.84 ns 1.21 0.07 False
9.31 ns 13.90 ns 1.49 0.11 False
35.51 ns 39.05 ns 1.10 0.06 False
24.27 ns 27.90 ns 1.15 0.09 False
8.64 ns 11.76 ns 1.36 0.06 False
15.82 ns 16.93 ns 1.07 0.14 False
25.60 ns 34.27 ns 1.34 0.15 False
25.46 ns 29.73 ns 1.17 0.04 False
13.13 ns 15.41 ns 1.17 0.07 False
11.75 ns 14.72 ns 1.25 0.11 False
12.27 ns 16.04 ns 1.31 0.05 False
8.20 ns 11.86 ns 1.45 0.08 False
17.49 ns 21.18 ns 1.21 0.06 False
23.64 ns 27.98 ns 1.18 0.08 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Memory.Span<Char>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Memory.Span<Char>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Memory.Span<Char>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Memory.Span<Char>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Memory.Span<Char>.Fill(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyFiveValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfValue(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyTwoValues(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.BinarySearch(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.LastIndexOfAnyValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfValue(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.BinarySearch(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.LastIndexOfValue(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.LastIndexOfAnyValues(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyFourValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyThreeValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.Fill(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.SequenceCompareToDifferent(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.BinarySearch(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyFiveValues(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.SequenceCompareToDifferent(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.SequenceCompareTo(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyThreeValues(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.LastIndexOfValue(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyTwoValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Char>.IndexOfAnyFourValues(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Collections.Tests.Add_Remove_SteadyState<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
68.12 ns 86.20 ns 1.27 0.04 False

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Collections.Tests.Add_Remove_SteadyState<String>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.Tests.Add_Remove_SteadyState<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Collections.Tests.Add_Remove_SteadyState<String>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.Tests.Add_Remove_SteadyState<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Collections.Tests.Add_Remove_SteadyState<String>.ConcurrentQueue(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Numerics.Tests.Perf_VectorOf<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.97 ns 3.13 ns 3.21 0.30 False
1.17 ns 2.92 ns 2.50 0.32 False
1.15 ns 3.16 ns 2.76 0.34 False
22.31 ns 24.30 ns 1.09 0.05 False
1.34 ns 2.34 ns 1.75 0.30 False
1.07 ns 2.20 ns 2.06 0.29 False
0.17 ns 1.76 ns 10.61 0.36 False
1.24 ns 2.39 ns 1.93 0.33 False
0.98 ns 2.47 ns 2.52 0.30 False
1.19 ns 3.52 ns 2.95 0.34 False
1.06 ns 2.72 ns 2.55 0.41 False
0.26 ns 1.78 ns 6.76 0.31 False
1.17 ns 2.99 ns 2.55 0.30 False
1.09 ns 2.66 ns 2.44 0.41 False
0.42 ns 1.79 ns 4.29 0.32 False
1.13 ns 2.52 ns 2.24 0.36 False
1.13 ns 2.70 ns 2.39 0.33 False
1.26 ns 2.90 ns 2.30 0.33 False
0.31 ns 2.39 ns 7.84 0.32 False
0.32 ns 1.78 ns 5.55 0.30 False
1.32 ns 2.49 ns 1.88 0.33 False
1.12 ns 3.20 ns 2.85 0.31 False
0.37 ns 1.76 ns 4.73 0.33 False
0.00 ns 3.02 ns 0.35 False
22.18 ns 23.91 ns 1.08 0.05 False
0.40 ns 1.95 ns 4.89 0.29 False
0.48 ns 1.79 ns 3.74 0.32 False
1.18 ns 2.56 ns 2.17 0.30 False
1.28 ns 3.09 ns 2.41 0.31 False
0.39 ns 1.84 ns 4.70 0.35 False
1.27 ns 2.77 ns 2.18 0.36 False
0.20 ns 1.77 ns 9.03 0.27 False
1.41 ns 2.54 ns 1.80 0.35 False
0.00 ns 2.60 ns 0.29 False
1.35 ns 2.99 ns 2.21 0.36 False
1.28 ns 3.18 ns 2.48 0.34 False
0.25 ns 1.75 ns 7.02 0.27 False
0.05 ns 2.47 ns 53.85 0.32 False
1.28 ns 2.99 ns 2.34 0.32 False
0.43 ns 1.80 ns 4.19 0.33 False
1.28 ns 2.79 ns 2.17 0.31 False
1.14 ns 2.47 ns 2.16 0.39 False
1.03 ns 3.00 ns 2.91 0.33 False

graph graph graph graph graph graph graph graph graph graph graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19

performanceautofiler[bot] commented 6 months ago

_2024/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoInterpreter%3Dfalse_RunKind%3Dmicro_mono_Regression/System.Numerics.Tests.Perf_VectorOf%28Int32%29_13.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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_VectorOf<Int32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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_VectorOf<Int32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Numerics.Tests.Perf_VectorOf<Int32>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int32>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.IO.Tests.BinaryWriterTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
6.50 ns 10.34 ns 1.59 0.18 False

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.IO.Tests.BinaryWriterTests*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.IO.Tests.BinaryWriterTests* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.IO.Tests.BinaryWriterTests*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.IO.Tests.BinaryWriterTests* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.IO.Tests.BinaryWriterTests.WriteBool #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.93 ns 3.39 ns 3.64 0.50 False
0.89 ns 4.07 ns 4.57 0.44 False
1.15 ns 3.82 ns 3.32 0.42 False
1.32 ns 3.41 ns 2.58 0.42 False
0.55 ns 1.80 ns 3.27 0.39 False
1.04 ns 2.87 ns 2.77 0.48 False
1.29 ns 3.20 ns 2.48 0.51 False
1.09 ns 2.88 ns 2.64 0.53 False
12.93 ns 15.28 ns 1.18 0.09 False
1.14 ns 2.91 ns 2.55 0.53 False
1.05 ns 3.40 ns 3.25 0.56 False
0.28 ns 1.76 ns 6.28 0.45 False
0.43 ns 1.76 ns 4.10 0.46 False
0.36 ns 1.82 ns 5.10 0.35 False
0.26 ns 2.04 ns 7.80 0.39 False
1.09 ns 3.53 ns 3.23 0.52 False
10.24 ns 12.63 ns 1.23 0.23 False
0.26 ns 1.78 ns 6.96 0.38 False
1.09 ns 2.68 ns 2.45 0.44 False
0.50 ns 1.77 ns 3.54 0.38 False
12.77 ns 14.83 ns 1.16 0.05 False
1.14 ns 2.62 ns 2.30 0.38 False
1.91 ns 3.47 ns 1.82 0.48 False
1.07 ns 4.01 ns 3.75 0.47 False
1.15 ns 2.31 ns 2.01 0.22 False
0.42 ns 1.81 ns 4.29 0.40 False
1.01 ns 3.40 ns 3.37 0.48 False
0.00 ns 2.91 ns 0.30 False
0.29 ns 1.75 ns 6.01 0.41 False
0.63 ns 2.41 ns 3.83 0.53 False
1.17 ns 3.38 ns 2.89 0.43 False
10.15 ns 11.83 ns 1.17 0.16 False
1.20 ns 2.95 ns 2.46 0.50 False
1.10 ns 3.39 ns 3.09 0.44 False
0.38 ns 1.78 ns 4.65 0.41 False
1.41 ns 3.83 ns 2.72 0.47 False
1.14 ns 2.62 ns 2.30 0.29 False
1.05 ns 3.73 ns 3.54 0.53 False
1.10 ns 3.38 ns 3.07 0.54 False
0.14 ns 3.21 ns 22.42 0.36 False
1.20 ns 2.61 ns 2.18 0.37 False
0.46 ns 1.78 ns 3.90 0.40 False
1.01 ns 2.76 ns 2.74 0.25 False
1.12 ns 3.39 ns 3.02 0.54 False
performanceautofiler[bot] commented 6 months ago

DjQsh0CrlhccyC1DgNro2FdkJBsEsdI9dJVnEIC9vOgKe2rbjQD8AhJplwkDjqxoRmYbDa7wdNFnBU9NLY0jOw7hNX4D3fBJeldaBa03Xz1rl2KLQViW15zrYuABfzK7I12OkeTBavidjvH7XOELgDnGVcT/D0R8HlUMpjoFkVx+9/ZyPjE6MXYlkgd8Jo+yU4MSoXslqNTQrBVxb/YoEThKfB86eUo9HV+A+OBTwNj402w8nsv3jaHGCOQM+NbsGl/YeQSh+FTjcCJRI0c0Vm91TCgspdGT5SD41r1MDOjR3JG1V96Dr8B3uql0JDHfZiaWZlXg/NSooGlxdolPGVusL35TWK9Eyaay7FXVWrI5t2p3U7nK5yQEqwrrK9m/YTQ+mmrJp887Z7c2Yku3Rc5eyIpRRqfxHCbtTt70Wdvc7hrNMbRIeD/kGrG/W6/d6rl1E0iCLfwhaK0i7ugHFczhVfhZWhn6DJXjTYdfmgQ3N7+5o+SZ8LKIB8cjTf6Io9gqdgC+lipKnT8N5O1vXhDSBfklOv0WSVlTeO36EAncpyW/GHVS38yEi/ATK/xyTj6NitcBkLLR0e2HirabJVYmShdPxwpnJdt/F6CAKdcBLi4C0dHf3flJull7BQ24av2VwKF/MV2MZvmyBRvhEFAAA=>) | 0.32 ns | 1.92 ns | 6.07 | 0.34 | False | | | |

| 3.45 ns | 8.90 ns | 2.58 | 0.04 | False | | |

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.AllBitsSetBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.SumBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int64>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.26 ns 1.79 ns 6.80 0.37 False
1.06 ns 3.22 ns 3.03 0.59 False
1.00 ns 3.51 ns 3.52 0.40 False
0.74 ns 1.91 ns 2.59 0.37 False
0.49 ns 1.80 ns 3.66 0.41 False
0.98 ns 3.40 ns 3.49 0.46 False
1.02 ns 3.11 ns 3.04 0.39 False
1.05 ns 3.11 ns 2.97 0.51 False
0.27 ns 1.75 ns 6.50 0.35 False
0.98 ns 2.97 ns 3.04 0.50 False
0.37 ns 2.04 ns 5.47 0.36 False
1.06 ns 3.30 ns 3.13 0.48 False
0.94 ns 2.84 ns 3.03 0.53 False
0.97 ns 3.17 ns 3.27 0.38 False
1.18 ns 2.80 ns 2.38 0.56 False
1.15 ns 2.83 ns 2.47 0.52 False
0.34 ns 1.83 ns 5.39 0.35 False
0.04 ns 2.72 ns 72.83 0.50 False
0.29 ns 1.80 ns 6.20 0.42 False
1.03 ns 3.51 ns 3.43 0.51 False
1.03 ns 2.89 ns 2.80 0.47 False
1.09 ns 2.94 ns 2.71 0.46 False
0.28 ns 1.81 ns 6.45 0.41 False
0.89 ns 5.49 ns 6.15 0.24 False
1.08 ns 3.59 ns 3.31 0.61 False
0.22 ns 1.96 ns 8.72 0.34 False
0.49 ns 1.81 ns 3.72 0.36 False
0.00 ns 3.39 ns 0.29 False
1.05 ns 3.43 ns 3.25 0.51 False
0.21 ns 1.79 ns 8.48 0.44 False
0.43 ns 1.86 ns 4.35 0.40 False
0.00 ns 2.59 ns 863.42 0.33 False
1.01 ns 3.37 ns 3.34 0.47 False
1.50 ns 3.34 ns 2.22 0.40 False
1.17 ns 2.61 ns 2.23 0.41 False
1.13 ns 3.92 ns 3.47 0.51 False
0.96 ns 3.39 ns 3.51 0.60 False
1.16 ns 2.72 ns 2.34 0.24 False
1.04 ns 2.35 ns 2.25 0.32 False
1.09 ns 2.67 ns 2.44 0.36 False
0.93 ns 3.81 ns 4.11 0.48 False
1.05 ns 4.33 ns 4.12 0.45 False
1.20 ns 3.04 ns 2.52 0.36 False
1.13 ns 3.20 ns 2.84 0.41 False
performanceautofiler[bot] commented 6 months ago

jyO+deO8eMgeoCQYA0+sVPcp8BAhkUjKdTyBWJY+KlykgwLSykYQK8Q2qAVCZZxSGsdCsDmuqWoEwegX1MMmYgMbYbYZL43ua06wXEoyjsS2NPz0Gbz1SA83zrzUptQDSn2+bNa2mQSc0S3XScbk4AV4tba6swap/drN7MmFxzuGjOiqVBmpgB2PkExR9/57FmQyVXbF0gNUxJ/dUbKpEzXq3GKgXvG4l/Ec8wi6fey+eUo9Ht+A+OBTwPj5VU/Zv5f/F2y4A5gn3udCvK9T+EtvSJyXQnECxBtRDW7JGKaRC5Kf0n6r4yjRrYtdIjfieqj1uH/6gv5ZpJqMNO1mpe5vXQrLRxoHyCSihXqSv8UC6RpVdcLSlnD1WtjmzantbtcLnJAW1qZZXnw4QPlU004Fzlu7fD2zK3spmhIicXJKUGXPj9dtjunoTRSXQ+jzq9KOpFYbN7GnXOz9qvw7AXhq6FLoRNO3sAQnG9EHTjV4ZugoC8apBledQh2N+4wCXpSwEFWJ8c1Xd7rZ7AU9AFNzHaqVP/0U629f4dIF1bp04jIJWVM47fIwOZ8nJfcYdVLdzIaH8DJG6PSUbRkHtmMuJre3ig470mIJtE8ULI+HimclvX8XYICxpmOMTeO3t09j+m3C2dhPhSN1xN55yZmG5AN34Dy8Y3WAUFAAA=>) | 1.14 ns | 2.93 ns | 2.57 | 0.52 | False | | | |

| 1.01 ns | 3.85 ns | 3.83 | 0.56 | False | | | | | 1.05 ns | 3.47 ns | 3.30 | 0.50 | False | | |

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.SumBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.AllBitsSetBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.SquareRootBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Single>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.19 ns 3.48 ns 2.93 0.52 False
0.00 ns 3.35 ns 0.24 False
0.39 ns 1.78 ns 4.52 0.41 False
1.14 ns 2.97 ns 2.61 0.48 False
1.12 ns 3.33 ns 2.97 0.31 False
1.23 ns 3.20 ns 2.60 0.30 False
0.68 ns 3.58 ns 5.28 0.31 False
0.92 ns 3.39 ns 3.68 0.54 False
1.19 ns 4.22 ns 3.53 0.57 False
1.15 ns 2.22 ns 1.94 0.26 False
0.37 ns 1.95 ns 5.27 0.40 False
1.02 ns 3.92 ns 3.84 0.52 False
0.40 ns 1.82 ns 4.56 0.39 False
0.99 ns 3.36 ns 3.41 0.38 False
1.19 ns 3.49 ns 2.93 0.53 False
1.13 ns 4.04 ns 3.57 0.38 False
1.20 ns 3.40 ns 2.82 0.45 False
1.95 ns 4.03 ns 2.06 0.51 False
0.94 ns 4.25 ns 4.50 0.42 False
1.10 ns 2.89 ns 2.63 0.51 False
1.01 ns 2.90 ns 2.87 0.48 False
1.05 ns 4.30 ns 4.10 0.58 False
0.47 ns 1.76 ns 3.75 0.40 False
1.14 ns 2.75 ns 2.42 0.54 False
1.05 ns 3.48 ns 3.32 0.47 False
1.06 ns 3.54 ns 3.33 0.48 False
0.48 ns 1.81 ns 3.76 0.39 False
0.78 ns 3.14 ns 4.03 0.42 False
0.01 ns 2.75 ns 303.26 0.54 False
1.17 ns 3.84 ns 3.29 0.39 False
1.05 ns 2.85 ns 2.72 0.28 False
0.94 ns 2.95 ns 3.14 0.50 False
1.02 ns 3.44 ns 3.39 0.52 False
0.35 ns 1.80 ns 5.06 0.47 False
0.25 ns 1.78 ns 7.17 0.37 False
0.44 ns 1.76 ns 4.00 0.40 False
1.14 ns 3.51 ns 3.08 0.43 False
0.35 ns 1.82 ns 5.17 0.36 False
0.19 ns 1.76 ns 9.40 0.42 False
0.00 ns 2.74 ns 9584.54 0.36 False
1.14 ns 3.48 ns 3.04 0.50 False
1.01 ns 5.47 ns 5.40 0.20 False
0.52 ns 1.83 ns 3.53 0.39 False
0.36 ns 1.77 ns 4.90 0.38 False
performanceautofiler[bot] commented 6 months ago

StaKkGbbd1g5VB1JdpQia5EG/+E107LammffbZgbFCpS57ieLL75x77RwzAapLBAHS6Gc/yV0OCGRUMp7NoFAkjomXKSPBtLGUhgnwDqkRUpnmNYew0u0caKbbgjJ5BA4xzZmB1NhuhEnie5tXfS8kHkVhX4I9nYA2n6kA5/nWm1fagGjNts1bV9Igk5qluuU43ZoCrhY31lZh1H19vXpzocolh7PWvFwapKkZgZ1PUPzxdx5rdq7kiq1LpIYpqb9650oUjNericrA+0biX8QzzOKZ9/wp5Xh8M/mDYwlPwxMl1fA6+S/ebhmwQLDPnW5Fuf6H0JY+MZntBIKlqBbCmj1QMQ2iMJX/SD1UJmiAXSk95rei/rhN+I/6Uq6ZhCbsdK2SqmiG5pWNA+VTVEK5SlPhh2qJLHvP1ZJydl/Xmshm3VnTDpebAtCmVtZ5Pkz4ubKJBkxUsXs7vC2Jlc0NFQU5Ixk14MLvdzvd/kknOolOk6g3iLqDXr/V6/ej0370stMZdDquhS6FTTu7B0JxvRB049eGboKQvAjIsjrqEO5vXOiS9KWEEqxPgeq7vVaP4BnokpsY7dSZ/2An2/rwFpCurVMvCElt5Yzjd8hAZrzaV9xh1Qs3MtrfAInbY5pTNOSOmZz42h4e6HivCckmVbwUMj6eqdrWdbwdwoKGGQ6xd2GPzv7HVLulkxBf6sDVdMGZiekGdPAbvA/GzAUFAAA=>) | 1.19 ns | 2.78 ns | 2.34 | 0.56 | False | | | |

| 1.17 ns | 2.61 ns | 2.24 | 0.38 | False | | | | | 1.08 ns | 2.88 ns | 2.66 | 0.52 | False | | |

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.SquareRootBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.SumBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.AllBitsSetBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128Int

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.08 ns 3.22 ns 2.99 0.39 False
0.88 ns 2.70 ns 3.07 0.42 False
0.93 ns 3.26 ns 3.50 0.41 False
1.01 ns 2.14 ns 2.12 0.40 False
0.95 ns 2.20 ns 2.31 0.36 False
0.17 ns 1.24 ns 7.18 0.51 False
0.88 ns 2.52 ns 2.87 0.29 False
0.96 ns 2.78 ns 2.90 0.39 False
1.01 ns 3.14 ns 3.12 0.37 False
0.89 ns 2.17 ns 2.44 0.36 False
0.84 ns 3.20 ns 3.83 0.34 False
1.01 ns 2.02 ns 2.00 0.36 False
0.90 ns 2.57 ns 2.86 0.36 False
1.11 ns 2.36 ns 2.13 0.24 False
0.91 ns 2.31 ns 2.52 0.39 False
0.00 ns 2.01 ns 0.15 False
1.34 ns 2.63 ns 1.96 0.38 False
0.00 ns 1.90 ns 0.16 False
0.23 ns 1.43 ns 6.32 0.76 False
1.00 ns 2.66 ns 2.65 0.33 False
0.40 ns 2.08 ns 5.19 0.38 False
0.36 ns 2.84 ns 7.92 0.55 False
1.08 ns 2.24 ns 2.07 0.34 False
0.76 ns 2.12 ns 2.80 0.40 False
0.94 ns 3.02 ns 3.20 0.26 False
0.95 ns 2.66 ns 2.80 0.35 False
0.90 ns 3.17 ns 3.51 0.38 False
0.97 ns 2.37 ns 2.43 0.27 False
1.01 ns 2.19 ns 2.16 0.42 False
1.02 ns 2.80 ns 2.75 0.33 False
0.87 ns 2.70 ns 3.10 0.41 False
1.01 ns 2.61 ns 2.58 0.37 False
0.96 ns 2.39 ns 2.48 0.22 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128Int*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Int* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128Int*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Int* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Int.BitwiseAndOperatorBenchma
performanceautofiler[bot] commented 6 months ago

rk

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.NegateBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.SubtractionOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.OnesComplementBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.MultiplyBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.SumBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.BitwiseOrBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.DotBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.EqualsAnyBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.MinBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.EqualsBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.EqualityOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.GreaterThanBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.AddOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.OnesComplementOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.BitwiseOrOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.ConditionalSelectBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.UnaryNegateOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.MaxBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.MultiplyOperatorBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.EqualsStaticBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.LessThanOrEqualBenchmark

ETL Files

Histogram

JIT Disasms

System.Runtime.Intrinsics.Tests.Perf_Vector128Int.AllBitsSetBenchmark

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository Benchmarking workflow for dotnet/runtime repository

performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Tests.Perf_String

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
46.63 ns 81.54 ns 1.75 0.44 False
22.31 ns 69.50 ns 3.12 0.56 False
52.25 ns 119.38 ns 2.28 0.36 False
70.08 ns 77.18 ns 1.10 0.39 False
2.23 ns 3.73 ns 1.67 0.56 False
45.81 ns 95.35 ns 2.08 0.47 False
56.98 ns 113.72 ns 2.00 0.54 False
55.92 ns 110.91 ns 1.98 0.47 False
32.82 ns 82.54 ns 2.51 0.44 False
1.65 μs 2.91 μs 1.77 0.48 False
21.63 ns 79.84 ns 3.69 0.46 False
1.21 μs 2.08 μs 1.71 0.44 False
58.39 ns 95.48 ns 1.64 0.48 False
24.28 ns 70.84 ns 2.92 0.55 False
58.55 ns 132.45 ns 2.26 0.47 False
53.36 ns 88.56 ns 1.66 0.40 False
72.57 ns 130.96 ns 1.80 0.46 False
3.39 ns 5.18 ns 1.53 0.49 False
35.73 ns 95.30 ns 2.67 0.41 False
16.73 ns 20.10 ns 1.20 0.27 False
37.30 ns 80.94 ns 2.17 0.47 False
39.84 ns 91.14 ns 2.29 0.40 False
48.06 ns 103.22 ns 2.15 0.39 False
16.92 ns 20.04 ns 1.18 0.27 False
34.57 ns 90.85 ns 2.63 0.43 False
49.65 ns 100.50 ns 2.02 0.46 False
115.35 ns 159.35 ns 1.38 0.46 False
33.59 ns 79.74 ns 2.37 0.52 False
24.17 ns 70.49 ns 2.92 0.51 False
28.31 ns 89.76 ns 3.17 0.48 False
40.83 ns 78.05 ns 1.91 0.37 False
70.58 ns 77.55 ns 1.10 0.41 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Tests.Perf_String*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Tests.Perf_String* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Tests.Perf_String*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Tests.Perf_String* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Tests.Perf_String.Trim_CharArr(s: "Test ", c: [' ', ' ']) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.CtorCharCount(size: 1) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Replace_Char(text: "Hello", oldChar: 'l', newChar: '!') #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.TrimEnd(s: "Test ") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Substring_Int(s: "dzsdzsDDZSDZSDZSddsz", i: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Trim_CharArr(s: " Test", c: [' ', ' ']) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Remove_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 0, i2: 8) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.PadLeft(n: 18) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Substring_Int(s: "dzsdzsDDZSDZSDZSddsz", i: 7) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Split(s: "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z", arr: [' '], options: RemoveEmptyEntries) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Substring_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 7, i2: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Split(s: "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z", arr: [' '], options: None) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Replace_Char(text: "This is a very nice sentence", oldChar: 'i', newChar: 'I') #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Substring_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 0, i2: 8) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Remove_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 10, i2: 1) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Trim_CharArr(s: " Te st ", c: [' ', ' ']) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.CtorCharCount(size: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Remove_Int(s: "dzsdzsDDZSDZSDZSddsz", i: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Insert(s1: "Test", i: 2, s2: " Test") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.ToUpperInvariant(s: "TEST") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Remove_Int(s: "dzsdzsDDZSDZSDZSddsz", i: 10) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.TrimStart_CharArr(s: " Test", c: [' ', ' ']) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.Insert(s1: "dzsdzsDDZSDZSDZSddsz", i: 7, s2: "Test") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.ToLowerInvariant(s: "test") #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_String.CtorCharCount(size: 10) #### ETL Files #### Histog
performanceautofiler[bot] commented 6 months ago

ram

JIT Disasms

System.Tests.Perf_String.Remove_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 7, i2: 4)

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.Replace_Char(text: "yfesgj0sg1ijslnjsb3uofdz3tbzf6ysgblu3at20nfab2wei1kxfbvsbpzwhanjczcqa2psra3aacxb67qnwbnfp2tok6v0a58l", oldChar: 'b', newChar: '+')

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.Substring_Int(s: "dzsdzsDDZSDZSDZSddsz", i: 10)

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.Substring_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 10, i2: 1)

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.Remove_Int(s: "dzsdzsDDZSDZSDZSddsz", i: 7)

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.TrimEnd_CharArr(s: "Test ", c: [' ', ' '])

ETL Files

Histogram

JIT Disasms

System.Tests.Perf_String.TrimStart(s: " Test")

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository Benchmarking workflow for dotnet/runtime repository

performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Numerics.Tests.Perf_VectorOf<Int64>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.30 ns 1.76 ns 5.97 0.32 False
0.36 ns 1.76 ns 4.82 0.33 False
0.37 ns 1.77 ns 4.84 0.33 False
5.80 ns 8.67 ns 1.50 0.11 False
0.36 ns 1.86 ns 5.14 0.31 False
1.14 ns 2.98 ns 2.60 0.35 False
1.04 ns 3.00 ns 2.89 0.32 False
1.20 ns 2.70 ns 2.24 0.43 False
1.21 ns 2.96 ns 2.45 0.36 False
1.35 ns 3.32 ns 2.45 0.36 False
1.10 ns 2.75 ns 2.50 0.37 False
1.18 ns 3.05 ns 2.58 0.32 False
1.22 ns 2.94 ns 2.41 0.30 False
1.28 ns 3.22 ns 2.51 0.38 False
1.15 ns 3.03 ns 2.63 0.36 False
1.00 ns 3.24 ns 3.24 0.32 False
1.15 ns 2.63 ns 2.28 0.35 False
1.15 ns 2.73 ns 2.37 0.39 False
0.46 ns 1.79 ns 3.86 0.33 False
1.02 ns 2.92 ns 2.87 0.27 False
0.45 ns 1.84 ns 4.08 0.31 False
5.85 ns 8.33 ns 1.42 0.15 False
0.33 ns 1.76 ns 5.27 0.27 False
1.20 ns 2.46 ns 2.05 0.25 False
0.40 ns 1.77 ns 4.39 0.31 False
1.36 ns 2.40 ns 1.76 0.33 False
1.21 ns 3.27 ns 2.71 0.35 False
1.07 ns 2.44 ns 2.28 0.38 False
0.33 ns 2.46 ns 7.45 0.25 False
1.78 ns 3.37 ns 1.89 0.23 False
1.12 ns 3.56 ns 3.16 0.32 False
0.04 ns 2.92 ns 74.55 0.31 False
1.16 ns 2.86 ns 2.47 0.34 False
1.15 ns 2.64 ns 2.30 0.28 False
0.40 ns 1.78 ns 4.39 0.33 False
0.40 ns 1.99 ns 4.96 0.35 False
10.05 ns 12.35 ns 1.23 0.09 False
10.13 ns 13.54 ns 1.34 0.04 False
1.06 ns 2.92 ns 2.75 0.32 False
0.47 ns 1.75 ns 3.68 0.33 False
1.10 ns 3.02 ns 2.74 0.26 False
0.20 ns 1.80 ns 8.98 0.29 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/0

performanceautofiler[bot] commented 6 months ago

3_19_2024/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoInterpreter%3Dfalse_RunKind%3Dmicro_mono_Regression/System.Numerics.Tests.Perf_VectorOf%28Int64%29_18.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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_VectorOf<Int64>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<Int64>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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_VectorOf<Int64>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<Int64>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Numerics.Tests.Perf_VectorOf<Int64>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int64>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Tests.Perf_Int16

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
7.64 ns 8.78 ns 1.15 0.36 False
1.44 ns 4.64 ns 3.21 0.34 False
78.32 ns 92.17 ns 1.18 0.52 False
55.26 ns 82.05 ns 1.48 0.36 False

graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Tests.Perf_Int16*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Tests.Perf_Int16* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Tests.Perf_Int16*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Tests.Perf_Int16* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Tests.Perf_Int16.ToString(value: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int16.CopySign(value: 1, sign: -1) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int16.ToString(value: -32768) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int16.ToString(value: 32767) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Xml.Linq.Perf_XElement

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
145.72 ns 188.62 ns 1.29 0.41 False

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Xml.Linq.Perf_XElement*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Xml.Linq.Perf_XElement* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Xml.Linq.Perf_XElement*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Xml.Linq.Perf_XElement* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Xml.Linq.Perf_XElement.GetValue #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.12 ns 2.93 ns 2.63 0.49 False
1.16 ns 3.96 ns 3.42 0.55 False
1.23 ns 3.14 ns 2.55 0.34 False
1.17 ns 2.94 ns 2.50 0.51 False
0.31 ns 1.76 ns 5.67 0.41 False
0.48 ns 1.76 ns 3.66 0.42 False
1.12 ns 3.14 ns 2.82 0.43 False
1.14 ns 2.84 ns 2.49 0.54 False
0.21 ns 2.91 ns 13.60 0.32 False
0.32 ns 1.78 ns 5.56 0.44 False
0.43 ns 1.83 ns 4.23 0.43 False
1.16 ns 3.00 ns 2.58 0.51 False
0.88 ns 3.05 ns 3.47 0.52 False
0.56 ns 1.78 ns 3.20 0.42 False
0.95 ns 2.88 ns 3.04 0.51 False
1.24 ns 3.35 ns 2.70 0.53 False
1.03 ns 2.86 ns 2.77 0.60 False
0.31 ns 1.75 ns 5.64 0.35 False
0.27 ns 1.76 ns 6.47 0.39 False
0.30 ns 2.05 ns 6.73 0.39 False
1.15 ns 2.86 ns 2.50 0.55 False
0.32 ns 1.74 ns 5.42 0.38 False
1.19 ns 3.35 ns 2.82 0.51 False
1.23 ns 2.94 ns 2.39 0.54 False
0.23 ns 1.86 ns 8.00 0.34 False
1.26 ns 3.42 ns 2.71 0.54 False
1.27 ns 3.68 ns 2.90 0.52 False
1.22 ns 3.14 ns 2.58 0.55 False
8.28 ns 10.23 ns 1.24 0.26 False
1.31 ns 3.16 ns 2.42 0.47 False
1.22 ns 3.47 ns 2.83 0.48 False
0.99 ns 2.30 ns 2.32 0.28 False
0.18 ns 1.91 ns 10.89 0.38 False
0.36 ns 1.86 ns 5.12 0.35 False
0.32 ns 1.76 ns 5.52 0.42 False
1.06 ns 3.21 ns 3.04 0.43 False
1.07 ns 2.89 ns 2.70 0.50 False
1.04 ns 2.74 ns 2.63 0.27 False
0.56 ns 2.41 ns 4.30 0.51 False
0.47 ns 1.82 ns 3.90 0.43 False
1.13 ns 3.91 ns 3.45 0.55 False
1.20 ns 2.89 ns 2.41 0.49 False
1.27 ns 3.16 ns 2.50 0.40 False

graph graph graph graph graph graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19_20

performanceautofiler[bot] commented 6 months ago

24/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoInterpreter%3Dfalse_RunKind%3Dmicro_mono_Regression/System.Runtime.Intrinsics.Tests.Perf_Vector128Of%28UInt16%29_8.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.AllBitsSetBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.SumBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt16>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Numerics.Tests.Perf_VectorOf<Int16>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.19 ns 3.26 ns 2.74 0.33 False
1.20 ns 3.02 ns 2.52 0.27 False
0.00 ns 2.51 ns 0.24 False
1.24 ns 2.62 ns 2.11 0.33 False
1.53 ns 3.16 ns 2.06 0.33 False
0.43 ns 1.77 ns 4.10 0.29 False
1.29 ns 3.45 ns 2.68 0.27 False
0.09 ns 2.04 ns 21.81 0.47 False
1.05 ns 2.44 ns 2.31 0.32 False
1.33 ns 2.65 ns 1.99 0.31 False
1.02 ns 2.51 ns 2.45 0.30 False
0.30 ns 1.76 ns 5.82 0.39 False
1.05 ns 2.72 ns 2.59 0.24 False
0.00 ns 2.94 ns 0.31 False
1.05 ns 3.12 ns 2.98 0.32 False
0.37 ns 1.75 ns 4.77 0.35 False
1.17 ns 3.21 ns 2.74 0.35 False
1.12 ns 3.45 ns 3.09 0.37 False
0.42 ns 1.81 ns 4.27 0.35 False
1.31 ns 2.50 ns 1.91 0.34 False
1.21 ns 3.01 ns 2.48 0.28 False
1.19 ns 3.04 ns 2.57 0.32 False
1.04 ns 2.44 ns 2.35 0.35 False
1.15 ns 3.06 ns 2.67 0.37 False
1.22 ns 2.69 ns 2.21 0.37 False
0.28 ns 1.94 ns 7.03 0.35 False
0.37 ns 1.77 ns 4.72 0.32 False
0.17 ns 1.85 ns 10.75 0.37 False
0.30 ns 1.76 ns 5.83 0.29 False
0.28 ns 1.77 ns 6.23 0.33 False
1.02 ns 3.02 ns 2.95 0.37 False
1.09 ns 2.53 ns 2.31 0.31 False
1.22 ns 3.00 ns 2.46 0.29 False
0.30 ns 1.81 ns 5.98 0.32 False
1.09 ns 2.59 ns 2.37 0.33 False
1.20 ns 2.41 ns 2.01 0.32 False
0.35 ns 1.75 ns 4.99 0.33 False
1.03 ns 2.50 ns 2.41 0.43 False
1.19 ns 2.92 ns 2.45 0.29 False
1.38 ns 2.68 ns 1.94 0.29 False
0.44 ns 1.76 ns 3.96 0.34 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19_2024/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoInterpreter%3Dfalse_RunKind%3Dmicro_mono_Regression/System.Numerics.Tests.Perf_VectorOf%28Int16%29_23.pn

performanceautofiler[bot] commented 6 months ago

g>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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_VectorOf<Int16>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<Int16>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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_VectorOf<Int16>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<Int16>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Numerics.Tests.Perf_VectorOf<Int16>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.OneBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Int16>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Xml.Linq.Perf_XDocument

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
11.06 ns 14.99 ns 1.36 0.63 False

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Xml.Linq.Perf_XDocument*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Xml.Linq.Perf_XDocument* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Xml.Linq.Perf_XDocument*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Xml.Linq.Perf_XDocument* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Xml.Linq.Perf_XDocument.Create #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Numerics.Tests.Perf_VectorOf<Double>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.36 ns 1.73 ns 4.75 0.35 False
1.15 ns 3.07 ns 2.68 0.33 False
0.37 ns 1.78 ns 4.78 0.30 False
1.35 ns 2.84 ns 2.11 0.34 False
0.42 ns 1.76 ns 4.15 0.37 False
0.31 ns 1.74 ns 5.62 0.31 False
1.10 ns 2.18 ns 1.99 0.20 False
1.40 ns 2.67 ns 1.90 0.38 False
0.50 ns 1.78 ns 3.54 0.35 False
0.24 ns 1.92 ns 8.03 0.29 False
1.20 ns 3.34 ns 2.79 0.36 False
0.40 ns 1.75 ns 4.38 0.32 False
1.18 ns 3.32 ns 2.82 0.30 False
0.98 ns 3.26 ns 3.31 0.33 False
1.07 ns 2.92 ns 2.73 0.32 False
1.16 ns 3.18 ns 2.75 0.36 False
1.09 ns 2.52 ns 2.31 0.30 False
1.11 ns 2.68 ns 2.42 0.30 False
1.14 ns 2.55 ns 2.23 0.32 False
0.32 ns 1.74 ns 5.36 0.31 False
1.11 ns 2.88 ns 2.59 0.28 False
0.09 ns 2.86 ns 31.12 0.44 False
0.00 ns 3.45 ns 0.24 False
1.35 ns 3.23 ns 2.39 0.32 False
1.19 ns 2.97 ns 2.50 0.36 False
1.24 ns 2.49 ns 2.00 0.36 False
1.22 ns 3.00 ns 2.47 0.36 False
1.26 ns 2.54 ns 2.02 0.33 False
1.12 ns 3.01 ns 2.69 0.31 False
0.25 ns 1.75 ns 6.89 0.32 False
1.08 ns 3.04 ns 2.81 0.36 False
1.19 ns 3.50 ns 2.95 0.29 False
0.47 ns 1.75 ns 3.76 0.28 False
1.30 ns 2.47 ns 1.90 0.37 False
1.15 ns 2.75 ns 2.39 0.31 False
1.17 ns 2.69 ns 2.30 0.27 False
1.08 ns 2.94 ns 2.73 0.35 False
1.09 ns 3.18 ns 2.91 0.29 False
0.48 ns 1.74 ns 3.65 0.31 False
1.15 ns 2.49 ns 2.16 0.33 False
0.47 ns 1.77 ns 3.73 0.27 False
0.94 ns 3.62 ns 3.85 0.36 False
0.00 ns 2.46 ns 0.35 False

graph graph graph graph graph graph graph graph graph graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19_2024/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoInterpreter%3Dfalse_RunKind%3Dmicro_mono_Regression/System.Numerics.Tests.P

performanceautofiler[bot] commented 6 months ago

erf_VectorOf%28Double%29_12.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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_VectorOf<Double>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<Double>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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_VectorOf<Double>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<Double>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Numerics.Tests.Perf_VectorOf<Double>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.OneBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Double>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Reflection.Attributes

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
882.00 ns 1.05 μs 1.19 0.57 False
1.04 μs 1.26 μs 1.21 0.48 False

graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Reflection.Attributes*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Reflection.Attributes* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Reflection.Attributes*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Reflection.Attributes* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Reflection.Attributes.IsDefinedMethodBaseMiss #### ETL Files #### Histogram #### JIT Disasms ### System.Reflection.Attributes.IsDefinedMethodBaseMissInherit #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.97 ns 3.31 ns 3.42 0.53 False
8.17 ns 9.67 ns 1.18 0.16 False
0.38 ns 1.86 ns 4.83 0.42 False
1.01 ns 3.76 ns 3.74 0.49 False
14.11 ns 16.44 ns 1.17 0.07 False
1.11 ns 2.32 ns 2.09 0.26 False
0.15 ns 2.80 ns 18.40 0.42 False
1.14 ns 3.20 ns 2.80 0.51 False
0.53 ns 2.62 ns 4.94 0.55 False
1.29 ns 3.12 ns 2.42 0.47 False
1.31 ns 2.87 ns 2.20 0.46 False
0.27 ns 1.78 ns 6.49 0.42 False
1.25 ns 4.03 ns 3.22 0.59 False
1.04 ns 3.37 ns 3.24 0.50 False
0.04 ns 1.88 ns 42.07 0.34 False
1.16 ns 3.24 ns 2.80 0.61 False
1.11 ns 3.36 ns 3.02 0.39 False
1.21 ns 3.00 ns 2.47 0.55 False
0.30 ns 1.79 ns 6.00 0.44 False
0.14 ns 2.04 ns 14.53 0.38 False
0.91 ns 3.14 ns 3.43 0.41 False
1.09 ns 3.42 ns 3.12 0.52 False
0.36 ns 1.87 ns 5.21 0.38 False
1.30 ns 3.39 ns 2.62 0.48 False
0.54 ns 1.77 ns 3.26 0.47 False
0.98 ns 3.39 ns 3.47 0.48 False
1.23 ns 3.44 ns 2.80 0.52 False
1.22 ns 3.57 ns 2.92 0.51 False
1.08 ns 3.13 ns 2.90 0.39 False
1.07 ns 3.22 ns 3.01 0.52 False
0.21 ns 2.61 ns 12.29 0.34 False
1.27 ns 3.46 ns 2.73 0.50 False
0.91 ns 3.42 ns 3.74 0.52 False
1.15 ns 3.31 ns 2.88 0.39 False
0.44 ns 1.77 ns 3.97 0.39 False
1.02 ns 2.70 ns 2.66 0.29 False
14.03 ns 17.35 ns 1.24 0.07 False
0.26 ns 1.78 ns 6.83 0.44 False
0.39 ns 1.77 ns 4.56 0.42 False
0.45 ns 1.76 ns 3.94 0.41 False
1.01 ns 3.23 ns 3.18 0.52 False
0.38 ns 1.80 ns 4.75 0.37 False
1.10 ns 3.39 ns 3.07 0.55 False
0.00 ns 3.29 ns 877.84 0.28 False
performanceautofiler[bot] commented 6 months ago

ClmXpAWViUy0Y4NBy0ZX9oLQ5CXXxhDb0dlZmwnx2TmnpWydNMJLZF9+//+dL+dMgJsKQYKy5slPtswBgY0qUWRTKDVLEuZl2iqw+1gpKyR496kRcpXmDYcwN/s58MzsSy7UDjjENBcWUkvZmFDM91Yv+17API6SFp0tPQNjP3EJzvONd1EbC7I7XSfvniqLQhmRmq7jTPcccH51SbYao3hwNn/9hZBefNgdCbsUBs5wBFSg5Pjjb0HkdqTVXCwq5FZoZb56R1qWomh2E52B940lv5hnBeGZ9/Qx5Xh8OfmDYwWPwxOt9PBs9l88HQiwRKDnRjfnhfmHkEIfhco2AilS1FeSzO6oqDuytLX/QD3UttMCO9VmXNzI5uu24T+YY7UQCtqw5ws9q8t2aF7TPPDiHLXULtJW+L6+RpG9K/Q1L8RtE2sjm8bTthmOVyUgja1qBvr+iB9pGmnAmS43q/vXZUayC8tlyQ5Zxi246ffjMO7vhdFe9GoW9Q7i6CCKuuGLwaAfR8/D8CAMXQpTSZp2cQuM4+JK8pXfGLoKAvasw67rnQzB9soFbpI+V1AB+ZSov9O9egBPwVSFTZCqzvw7J1nHhzeAfEFOvU7AGitnnJygAJUV9TbimtVsXMlI7wCZO2Oac7RsKWzOfEPNA5NsNQFbpbqopEp2a6rXcZOsiyDQCltA4r2l1tFPpt5snYT5ynRczJSFsAlfgen8BorLSCoGBQAA>) | 1.20 ns | 2.85 ns | 2.38 | 0.45 | False | | | |

| 1.54 ns | 3.14 ns | 2.05 | 0.51 | False | | |

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.AllBitsSetBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.SumBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.43 ns 2.20 ns 5.09 0.38 False
1.18 ns 2.62 ns 2.22 0.47 False
0.12 ns 1.79 ns 15.39 0.39 False
0.30 ns 1.80 ns 6.02 0.38 False
0.02 ns 2.92 ns 132.95 0.34 False
0.62 ns 2.52 ns 4.10 0.55 False
0.26 ns 1.77 ns 6.84 0.37 False
1.18 ns 2.86 ns 2.42 0.48 False
0.45 ns 1.77 ns 3.95 0.40 False
1.73 ns 3.47 ns 2.01 0.52 False
0.44 ns 1.83 ns 4.11 0.41 False
0.38 ns 1.75 ns 4.59 0.38 False
1.24 ns 2.89 ns 2.33 0.49 False
1.09 ns 2.88 ns 2.65 0.54 False
1.14 ns 2.83 ns 2.49 0.31 False
0.33 ns 1.80 ns 5.41 0.38 False
1.20 ns 2.63 ns 2.19 0.41 False
1.14 ns 3.44 ns 3.02 0.49 False
1.07 ns 3.80 ns 3.57 0.53 False
0.00 ns 2.09 ns 0.39 False
1.19 ns 2.89 ns 2.42 0.52 False
1.12 ns 3.86 ns 3.46 0.45 False
1.10 ns 3.37 ns 3.06 0.56 False
1.28 ns 4.01 ns 3.13 0.45 False
1.14 ns 2.89 ns 2.54 0.52 False
1.25 ns 2.92 ns 2.33 0.54 False
1.14 ns 2.87 ns 2.51 0.55 False
1.06 ns 3.77 ns 3.57 0.46 False
1.07 ns 3.82 ns 3.58 0.45 False
1.20 ns 4.10 ns 3.41 0.47 False
1.05 ns 2.23 ns 2.12 0.24 False
1.05 ns 4.07 ns 3.86 0.46 False
1.06 ns 2.86 ns 2.69 0.52 False
1.48 ns 2.63 ns 1.77 0.34 False
1.18 ns 3.38 ns 2.86 0.52 False
0.48 ns 1.83 ns 3.85 0.38 False
1.03 ns 3.13 ns 3.05 0.41 False
0.23 ns 1.99 ns 8.58 0.39 False
0.39 ns 1.76 ns 4.52 0.45 False
0.31 ns 2.40 ns 7.67 0.42 False
0.17 ns 1.96 ns 11.27 0.38 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19_2024/refs/heads/main_arm64_ub

performanceautofiler[bot] commented 6 months ago

untu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoInterpreter%3Dfalse_RunKind%3Dmicro_mono_Regression/System.Runtime.Intrinsics.Tests.Perf_Vector128Of%28Byte%29_19.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.SumBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.AllBitsSetBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Byte>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.27 ns 1.78 ns 6.49 0.42 False
0.38 ns 1.76 ns 4.59 0.39 False
0.30 ns 1.89 ns 6.27 0.45 False
1.19 ns 3.39 ns 2.84 0.48 False
1.19 ns 3.81 ns 3.19 0.46 False
0.43 ns 1.87 ns 4.33 0.41 False
0.91 ns 3.36 ns 3.69 0.50 False
1.04 ns 3.80 ns 3.64 0.34 False
1.12 ns 3.99 ns 3.56 0.39 False
1.00 ns 3.16 ns 3.15 0.36 False
1.29 ns 3.51 ns 2.71 0.50 False
1.12 ns 3.44 ns 3.06 0.55 False
0.21 ns 1.82 ns 8.47 0.39 False
1.05 ns 3.58 ns 3.41 0.40 False
0.42 ns 1.75 ns 4.16 0.37 False
1.07 ns 3.33 ns 3.12 0.49 False
1.11 ns 3.15 ns 2.85 0.31 False
0.97 ns 3.52 ns 3.63 0.52 False
0.44 ns 1.80 ns 4.09 0.40 False
1.19 ns 3.33 ns 2.80 0.39 False
0.31 ns 1.91 ns 6.15 0.43 False
1.10 ns 2.84 ns 2.59 0.50 False
1.03 ns 2.85 ns 2.76 0.44 False
0.39 ns 1.78 ns 4.54 0.44 False
1.15 ns 4.03 ns 3.50 0.52 False
1.10 ns 3.81 ns 3.46 0.49 False
0.35 ns 1.83 ns 5.16 0.42 False
0.96 ns 3.37 ns 3.51 0.59 False
0.35 ns 1.77 ns 5.05 0.42 False
1.02 ns 3.42 ns 3.35 0.46 False
1.06 ns 4.10 ns 3.87 0.47 False
1.10 ns 4.05 ns 3.70 0.44 False
0.22 ns 1.90 ns 8.49 0.38 False
1.18 ns 2.74 ns 2.33 0.25 False
0.95 ns 4.05 ns 4.29 0.47 False
1.14 ns 4.06 ns 3.55 0.53 False
0.97 ns 2.31 ns 2.37 0.27 False
0.00 ns 2.92 ns 1550.50 0.28 False
1.17 ns 2.94 ns 2.51 0.45 False
0.36 ns 2.60 ns 7.19 0.58 False
0.15 ns 1.94 ns 13.14 0.44 False
1.04 ns 2.94 ns 2.83 0.45 False
1.15 ns 3.66 ns 3.17 0.50 False
0.05 ns 2.17 ns 43.12 0.38 False

graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19_2024/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoInterpreter%3Dfalse_RunKind%3Dm

performanceautofiler[bot] commented 6 months ago

icro_mono_Regression/System.Runtime.Intrinsics.Tests.Perf_Vector128Of%28SByte%29_3.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.SumBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.AllBitsSetBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.01 ns 2.78 ns 2.76 0.36 False
0.93 ns 2.64 ns 2.85 0.40 False
0.90 ns 2.89 ns 3.22 0.31 False
1.02 ns 2.18 ns 2.15 0.38 False
1.02 ns 2.65 ns 2.59 0.29 False
0.87 ns 3.11 ns 3.58 0.37 False
1.01 ns 2.39 ns 2.37 0.40 False
0.99 ns 2.08 ns 2.10 0.35 False
1.02 ns 2.11 ns 2.07 0.41 False
0.98 ns 2.55 ns 2.60 0.29 False

graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128.ConvertULongToDoubleBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128.ConvertFloatToIntBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128.ConvertFloatToUIntBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128.CeilingDoubleBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128.ConvertDoubleToULongBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128.ConvertDoubleToLongBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128.FloorDoubleBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128.ConvertUIntToFloatBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128.CeilingFloatBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128.FloorFloatBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Collections.IterateFor<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
5.61 μs 7.05 μs 1.26 0.24 False

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Collections.IterateFor<String>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.IterateFor<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Collections.IterateFor<String>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.IterateFor<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Collections.IterateFor<String>.IList(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.15 ns 3.42 ns 2.96 0.52 False
1.06 ns 3.42 ns 3.24 0.51 False
0.32 ns 1.81 ns 5.63 0.41 False
1.19 ns 2.89 ns 2.43 0.52 False
1.21 ns 2.99 ns 2.47 0.53 False
0.29 ns 2.05 ns 6.99 0.36 False
1.15 ns 2.86 ns 2.49 0.60 False
1.04 ns 3.45 ns 3.33 0.59 False
1.17 ns 2.61 ns 2.23 0.39 False
1.15 ns 3.22 ns 2.80 0.51 False
1.25 ns 3.37 ns 2.69 0.61 False
0.29 ns 1.77 ns 6.04 0.39 False
0.43 ns 1.78 ns 4.15 0.50 False
1.03 ns 3.40 ns 3.30 0.58 False
1.21 ns 2.62 ns 2.17 0.37 False
1.02 ns 3.20 ns 3.13 0.47 False
1.14 ns 2.63 ns 2.31 0.42 False
1.20 ns 3.38 ns 2.82 0.50 False
1.11 ns 2.93 ns 2.64 0.52 False
1.33 ns 3.42 ns 2.57 0.58 False
0.28 ns 1.76 ns 6.22 0.46 False
0.24 ns 1.78 ns 7.39 0.39 False
0.38 ns 1.74 ns 4.54 0.40 False
0.37 ns 1.79 ns 4.89 0.48 False
0.93 ns 2.79 ns 3.00 0.53 False
1.08 ns 2.96 ns 2.74 0.53 False
1.28 ns 3.07 ns 2.41 0.50 False
0.34 ns 1.76 ns 5.15 0.49 False
1.07 ns 2.21 ns 2.08 0.26 False
1.30 ns 3.38 ns 2.61 0.55 False
1.19 ns 2.90 ns 2.44 0.53 False
1.20 ns 2.86 ns 2.39 0.51 False
0.25 ns 1.95 ns 7.80 0.39 False
1.14 ns 3.17 ns 2.79 0.43 False
0.47 ns 1.75 ns 3.70 0.41 False
0.00 ns 2.89 ns 0.32 False
0.28 ns 1.80 ns 6.44 0.47 False
0.21 ns 2.03 ns 9.86 0.32 False
1.28 ns 3.14 ns 2.45 0.45 False
1.29 ns 2.84 ns 2.20 0.48 False
0.98 ns 2.86 ns 2.92 0.54 False
1.02 ns 2.79 ns 2.72 0.32 False
0.62 ns 2.35 ns 3.79 0.53 False
0.27 ns 1.76 ns 6.55 0.38 False

graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19_2024/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoInterpreter%3Dfalse_RunKind

performanceautofiler[bot] commented 6 months ago

%3Dmicro_mono_Regression/System.Runtime.Intrinsics.Tests.Perf_Vector128Of%28Int16%29_3.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.SumBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.AllBitsSetBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Collections.CreateAddAndClear<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
28.66 μs 32.56 μs 1.14 0.19 False

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Collections.CreateAddAndClear<String>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.CreateAddAndClear<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Collections.CreateAddAndClear<String>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.CreateAddAndClear<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Collections.CreateAddAndClear<String>.ConcurrentQueue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Numerics.Tests.Perf_VectorOf<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.24 ns 1.76 ns 7.21 0.27 False
0.28 ns 1.95 ns 6.88 0.31 False
0.28 ns 1.75 ns 6.30 0.31 False
1.13 ns 2.61 ns 2.31 0.27 False
1.15 ns 3.17 ns 2.76 0.41 False
1.13 ns 3.44 ns 3.04 0.30 False
1.29 ns 2.44 ns 1.90 0.37 False
0.31 ns 1.75 ns 5.57 0.32 False
0.91 ns 3.23 ns 3.57 0.35 False
1.14 ns 2.99 ns 2.62 0.28 False
1.29 ns 2.92 ns 2.26 0.30 False
1.23 ns 2.96 ns 2.41 0.29 False
1.10 ns 3.19 ns 2.89 0.36 False
0.26 ns 2.03 ns 7.93 0.42 False
0.44 ns 1.74 ns 3.92 0.34 False
0.46 ns 1.78 ns 3.85 0.29 False
1.04 ns 2.79 ns 2.68 0.41 False
1.07 ns 2.74 ns 2.55 0.29 False
1.25 ns 3.00 ns 2.41 0.31 False
1.02 ns 3.19 ns 3.12 0.34 False
0.43 ns 1.76 ns 4.08 0.32 False
1.31 ns 3.50 ns 2.68 0.36 False
1.05 ns 3.00 ns 2.85 0.31 False
1.08 ns 2.97 ns 2.74 0.30 False
1.02 ns 2.89 ns 2.82 0.29 False
1.11 ns 2.84 ns 2.56 0.35 False
1.12 ns 2.49 ns 2.21 0.36 False
0.40 ns 1.77 ns 4.39 0.32 False
0.45 ns 1.84 ns 4.07 0.29 False
0.00 ns 2.88 ns 0.31 False
0.07 ns 2.42 ns 36.53 0.24 False
0.38 ns 1.88 ns 4.91 0.31 False
1.21 ns 2.50 ns 2.06 0.30 False
1.10 ns 3.10 ns 2.81 0.33 False
0.49 ns 1.79 ns 3.65 0.39 False
1.17 ns 3.05 ns 2.61 0.34 False
1.29 ns 2.99 ns 2.32 0.32 False
0.96 ns 2.12 ns 2.20 0.40 False
1.02 ns 2.73 ns 2.67 0.26 False
1.10 ns 3.09 ns 2.81 0.31 False
0.98 ns 2.68 ns 2.74 0.39 False
0.45 ns 1.65 ns 3.71 0.31 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19_2024/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoInterpreter%3Dfalse_RunKind%3Dmicro_mono_Regression/System.Numerics.Tests.Perf_Ve

performanceautofiler[bot] commented 6 months ago

ctorOf%28Byte%29_18.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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_VectorOf<Byte>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<Byte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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_VectorOf<Byte>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<Byte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Numerics.Tests.Perf_VectorOf<Byte>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.OneBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<Byte>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.00 ns 2.83 ns 0.23 False
0.01 ns 2.93 ns 413.40 0.22 False
0.00 ns 2.31 ns 0.58 False
0.47 ns 2.41 ns 5.13 0.64 False

graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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 'Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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 Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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 'Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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 Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark.Count_Array #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark.Count_String #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark.Indexer_FirstElement_String #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.Performance.StringValuesBenchmark.Indexer_FirstElement_Array #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.IO.Tests.StringReaderReadLineTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
67.89 μs 91.99 μs 1.36 0.41 False
444.46 μs 662.43 μs 1.49 0.40 False
202.10 μs 274.84 μs 1.36 0.47 False

graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.IO.Tests.StringReaderReadLineTests*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.IO.Tests.StringReaderReadLineTests* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.IO.Tests.StringReaderReadLineTests*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.IO.Tests.StringReaderReadLineTests* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [ 9, 32]) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [ 1, 1]) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.StringReaderReadLineTests.ReadLine(LineLengthRange: [ 1, 8]) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Numerics.Tests.Perf_VectorOf<UInt16>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.36 ns 2.54 ns 1.87 0.32 False
0.36 ns 1.77 ns 4.95 0.31 False
1.19 ns 3.18 ns 2.67 0.33 False
1.18 ns 3.61 ns 3.06 0.32 False
0.41 ns 1.82 ns 4.42 0.34 False
1.33 ns 2.46 ns 1.85 0.36 False
0.40 ns 1.74 ns 4.32 0.34 False
0.42 ns 1.85 ns 4.36 0.36 False
1.14 ns 3.19 ns 2.81 0.28 False
0.35 ns 1.86 ns 5.30 0.26 False
0.29 ns 2.00 ns 6.97 0.39 False
0.32 ns 1.77 ns 5.56 0.32 False
1.06 ns 2.98 ns 2.82 0.30 False
1.23 ns 2.46 ns 2.00 0.39 False
1.03 ns 2.41 ns 2.35 0.32 False
1.37 ns 3.17 ns 2.31 0.35 False
0.21 ns 1.94 ns 9.06 0.35 False
1.24 ns 2.49 ns 2.00 0.28 False
1.32 ns 2.61 ns 1.97 0.38 False
0.31 ns 1.80 ns 5.78 0.32 False
0.00 ns 2.99 ns 0.28 False
1.17 ns 3.05 ns 2.61 0.37 False
1.18 ns 3.12 ns 2.64 0.33 False
1.05 ns 2.20 ns 2.10 0.24 False
0.30 ns 1.77 ns 6.00 0.33 False
1.01 ns 2.40 ns 2.38 0.31 False
1.29 ns 3.16 ns 2.45 0.38 False
0.34 ns 1.79 ns 5.22 0.30 False
1.00 ns 3.13 ns 3.14 0.35 False
1.22 ns 3.38 ns 2.76 0.30 False
1.02 ns 3.30 ns 3.23 0.34 False
1.39 ns 2.99 ns 2.16 0.34 False
1.02 ns 3.26 ns 3.21 0.33 False
1.11 ns 3.20 ns 2.89 0.34 False
1.20 ns 2.79 ns 2.32 0.32 False
1.16 ns 2.47 ns 2.13 0.29 False
1.17 ns 2.36 ns 2.01 0.29 False
0.41 ns 1.76 ns 4.26 0.29 False
0.48 ns 1.81 ns 3.78 0.31 False
0.02 ns 2.44 ns 161.13 0.24 False
3.42 ns 4.68 ns 1.37 0.33 False
1.52 ns 3.18 ns 2.08 0.38 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph ![graph](<https

performanceautofiler[bot] commented 6 months ago

://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19_2024/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoInterpreter%3Dfalse_RunKind%3Dmicro_mono_Regression/System.Numerics.Tests.Perf_VectorOf%28UInt16%29_18.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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_VectorOf<UInt16>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<UInt16>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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_VectorOf<UInt16>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<UInt16>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Numerics.Tests.Perf_VectorOf<UInt16>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt16>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Threading.Tests.Perf_Interlocked

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.92 ns 9.44 ns 2.41 0.14 False
1.81 ns 10.69 ns 5.91 0.12 False
8.00 ns 16.31 ns 2.04 0.15 False
9.19 ns 16.38 ns 1.78 0.13 False
7.15 ns 10.67 ns 1.49 0.06 False
6.79 ns 9.28 ns 1.37 0.04 False
7.27 ns 10.82 ns 1.49 0.02 False
7.20 ns 10.87 ns 1.51 0.05 False
6.88 ns 9.32 ns 1.35 0.03 False
7.82 ns 10.66 ns 1.36 0.05 False
6.82 ns 9.40 ns 1.38 0.03 False
6.80 ns 9.24 ns 1.36 0.04 False

graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Threading.Tests.Perf_Interlocked*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Threading.Tests.Perf_Interlocked* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Threading.Tests.Perf_Interlocked*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Threading.Tests.Perf_Interlocked* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Threading.Tests.Perf_Interlocked.CompareExchange_long #### ETL Files #### Histogram #### JIT Disasms ### System.Threading.Tests.Perf_Interlocked.CompareExchange_int #### ETL Files #### Histogram #### JIT Disasms ### System.Threading.Tests.Perf_Interlocked.CompareExchange_object_Match #### ETL Files #### Histogram #### JIT Disasms ### System.Threading.Tests.Perf_Interlocked.CompareExchange_object_NoMatch #### ETL Files #### Histogram #### JIT Disasms ### System.Threading.Tests.Perf_Interlocked.Add_int #### ETL Files #### Histogram #### JIT Disasms ### System.Threading.Tests.Perf_Interlocked.Add_long #### ETL Files #### Histogram #### JIT Disasms ### System.Threading.Tests.Perf_Interlocked.Increment_int #### ETL Files #### Histogram #### JIT Disasms ### System.Threading.Tests.Perf_Interlocked.Decrement_int #### ETL Files #### Histogram #### JIT Disasms ### System.Threading.Tests.Perf_Interlocked.Increment_long #### ETL Files #### Histogram #### JIT Disasms ### System.Threading.Tests.Perf_Interlocked.Exchange_int #### ETL Files #### Histogram #### JIT Disasms ### System.Threading.Tests.Perf_Interlocked.Exchange_long #### ETL Files #### Histogram #### JIT Disasms ### System.Threading.Tests.Perf_Interlocked.Decrement_long #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Collections.ContainsFalse<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
144.45 μs 159.43 μs 1.10 0.01 False
146.13 μs 158.25 μs 1.08 0.01 False
144.83 μs 154.25 μs 1.07 0.00 False

graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Collections.ContainsFalse<Int32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.ContainsFalse<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Collections.ContainsFalse<Int32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.ContainsFalse<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Collections.ContainsFalse<Int32>.Stack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.ContainsFalse<Int32>.ICollection(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Numerics.Tests.Perf_VectorOf<UInt32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.13 ns 3.18 ns 2.82 0.29 False
0.39 ns 1.83 ns 4.67 0.35 False
0.35 ns 1.78 ns 5.12 0.36 False
0.90 ns 2.60 ns 2.88 0.34 False
1.38 ns 3.01 ns 2.19 0.37 False
1.23 ns 3.57 ns 2.90 0.35 False
1.32 ns 2.56 ns 1.94 0.36 False
0.00 ns 2.94 ns 0.29 False
1.03 ns 2.48 ns 2.40 0.30 False
0.26 ns 2.38 ns 9.19 0.34 False
1.28 ns 3.05 ns 2.38 0.32 False
1.20 ns 2.99 ns 2.48 0.29 False
1.18 ns 3.21 ns 2.73 0.37 False
0.40 ns 1.79 ns 4.42 0.32 False
0.48 ns 1.76 ns 3.68 0.31 False
1.00 ns 2.48 ns 2.49 0.33 False
1.03 ns 2.44 ns 2.38 0.34 False
0.00 ns 2.45 ns 550.70 0.25 False
12.34 ns 14.95 ns 1.21 0.07 False
0.08 ns 2.56 ns 31.55 0.39 False
0.24 ns 1.77 ns 7.27 0.34 False
1.15 ns 2.69 ns 2.35 0.31 False
1.25 ns 2.37 ns 1.90 0.28 False
1.30 ns 3.18 ns 2.45 0.33 False
0.26 ns 1.78 ns 6.74 0.30 False
1.08 ns 2.57 ns 2.39 0.34 False
12.26 ns 14.65 ns 1.19 0.09 False
1.22 ns 2.99 ns 2.46 0.36 False
1.00 ns 2.96 ns 2.95 0.29 False
0.48 ns 1.78 ns 3.72 0.33 False
0.73 ns 2.92 ns 4.01 0.33 False
1.13 ns 3.46 ns 3.05 0.39 False
1.12 ns 2.76 ns 2.47 0.24 False
1.23 ns 2.53 ns 2.05 0.32 False
0.30 ns 1.80 ns 5.99 0.37 False
0.36 ns 1.78 ns 4.93 0.31 False
1.26 ns 2.85 ns 2.26 0.30 False
0.60 ns 1.80 ns 3.00 0.32 False
0.45 ns 1.75 ns 3.88 0.35 False
1.26 ns 3.20 ns 2.55 0.37 False
1.29 ns 3.00 ns 2.32 0.41 False
1.16 ns 3.18 ns 2.73 0.35 False
1.03 ns 2.38 ns 2.32 0.32 False
1.27 ns 3.23 ns 2.54 0.28 False

graph graph graph graph graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19_2024/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoIn

performanceautofiler[bot] commented 6 months ago

terpreter%3Dfalse_RunKind%3Dmicro_mono_Regression/System.Numerics.Tests.Perf_VectorOf%28UInt32%29_7.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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_VectorOf<UInt32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<UInt32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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_VectorOf<UInt32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<UInt32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Numerics.Tests.Perf_VectorOf<UInt32>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.OneBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt32>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Numerics.Tests.Perf_Vector4

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.20 ns 1.20 ns 5.92 0.74 False
0.00 ns 1.93 ns 0.35 False
0.08 ns 1.20 ns 15.13 0.73 False
0.26 ns 1.84 ns 7.03 0.32 False
0.10 ns 1.74 ns 17.22 0.65 False
0.38 ns 1.81 ns 4.73 0.54 False

graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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_Vector4*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_Vector4* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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_Vector4*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_Vector4* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Numerics.Tests.Perf_Vector4.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.LengthSquaredBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.DistanceSquaredJitOptimizeCanaryBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.DistanceSquaredBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.28 ns 2.95 ns 2.30 0.42 False
1.17 ns 3.77 ns 3.21 0.55 False
1.14 ns 3.41 ns 2.98 0.52 False
1.26 ns 2.84 ns 2.25 0.52 False
0.22 ns 1.78 ns 7.90 0.42 False
1.24 ns 3.17 ns 2.55 0.52 False
1.15 ns 3.55 ns 3.08 0.51 False
0.96 ns 3.22 ns 3.34 0.36 False
0.40 ns 1.75 ns 4.33 0.32 False
0.34 ns 1.83 ns 5.34 0.38 False
0.22 ns 1.96 ns 8.84 0.37 False
0.17 ns 1.76 ns 10.38 0.34 False
1.15 ns 3.77 ns 3.29 0.55 False
0.36 ns 1.79 ns 5.01 0.39 False
0.98 ns 3.14 ns 3.19 0.42 False
1.11 ns 2.79 ns 2.51 0.25 False
1.58 ns 2.92 ns 1.84 0.52 False
0.51 ns 2.57 ns 5.08 0.54 False
1.30 ns 3.36 ns 2.60 0.41 False
1.14 ns 4.02 ns 3.53 0.50 False
9.87 ns 12.59 ns 1.27 0.27 False
1.16 ns 2.84 ns 2.44 0.40 False
1.00 ns 4.05 ns 4.03 0.39 False
1.26 ns 3.20 ns 2.54 0.50 False
0.80 ns 1.81 ns 2.25 0.41 False
1.06 ns 2.97 ns 2.80 0.53 False
1.28 ns 3.42 ns 2.67 0.56 False
3.50 ns 9.30 ns 2.65 0.08 False
1.08 ns 4.03 ns 3.75 0.51 False
9.68 ns 13.58 ns 1.40 0.14 False
1.28 ns 4.08 ns 3.20 0.42 False
0.57 ns 1.83 ns 3.20 0.37 False
11.18 ns 13.17 ns 1.18 0.18 False
8.30 ns 11.07 ns 1.33 0.26 False
0.37 ns 1.81 ns 4.89 0.42 False
0.31 ns 1.77 ns 5.78 0.40 False
1.00 ns 3.70 ns 3.71 0.52 False
1.11 ns 2.90 ns 2.62 0.52 False
0.38 ns 1.81 ns 4.72 0.40 False
0.08 ns 3.20 ns 38.27 0.36 False
1.13 ns 3.59 ns 3.19 0.56 False
1.20 ns 3.14 ns 2.62 0.36 False
0.00 ns 2.98 ns 0.29 False
1.19 ns 2.22 ns 1.86 0.21 False
performanceautofiler[bot] commented 6 months ago

X2/TMBTF35H4Dn5LCl3/b2wVmWjLBoOWjS7sBaHKTW4bQ2xH187WTIjPznVaytpJI7xE8e3vnHvtHHcC3OQIEpQ1z36yuwQQ2DAXaTyFTLMgYF6srQLbxFxZIcHbpYbIVZSUHMLCNBPgsWlKLtQeOMAoERYiS92YUMz3Vkc9r848jpJeals6BGM/cQnO8413XRgLsjFdN29cKItCGRGZhuNM4wpwMbshW43tzvHl4vUXQo56p40xGBMmXA1UMQQaUXL88Xck8htptRDLHLkVWpmv3kjLTKTlaqJj8L6x4BfzrCA89p4/pRyPbyZ/cMzhaXiilR5chv/F05YAMwR6bnQLnpp/CKn0Uah4I5AiQj2TZPZAJQzIzBb+I/VA21oF7EKbcXory+9bhf9gztRSKKjCXi11WGTV0KSgRPD0CrXUrlJV+L6Yo4jfpXrOU3Ff1qrIpp1p1Q5nqwyQgqvKSO+GfKQp1IChzjZvuxcmJNm15TJjpyzmFlz+/U6r0ztotQ/aJ2G72++2+4eHje7Jce+o++plq9VvtVwLk0tKu7gHxnE5k3zll4Zugjp7UWPzYq9DfXvp6i5Jn3PIgXwy1N/pZj2Cp2Dy1AZIU8f+g52s64NbQL4kp26tzkorZxycowAVp8W24g6rXLiRkX4DZG6PUcLRsjthE+YbOjwwwVZTZ6tIp7lUwf5MxbpugvUQBFphUwi8t3R09DdTbJZOwnxlaq5mslTYgK/A1H4DBTQIwggFAAA=>) | 0.28 ns | 1.91 ns | 6.93 | 0.40 | False | | |

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.AllBitsSetBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.UnaryNegateOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.SumBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt64>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Tests.Perf_UInt16

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
6.10 ns 7.84 ns 1.29 0.44 False
52.31 ns 72.06 ns 1.38 0.41 False
52.76 ns 71.65 ns 1.36 0.38 False

graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Tests.Perf_UInt16*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Tests.Perf_UInt16* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Tests.Perf_UInt16*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Tests.Perf_UInt16* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Tests.Perf_UInt16.ToString(value: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt16.ToString(value: 12345) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_UInt16.ToString(value: 65535) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Tests.Perf_Int32

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.38 ns 5.04 ns 3.66 0.58 False
55.85 ns 78.77 ns 1.41 0.34 False
74.63 ns 89.53 ns 1.20 0.33 False
63.60 ns 81.96 ns 1.29 0.34 False
75.60 ns 89.43 ns 1.18 0.41 False
56.35 ns 71.52 ns 1.27 0.44 False

graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Tests.Perf_Int32*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Tests.Perf_Int32* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Tests.Perf_Int32*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Tests.Perf_Int32* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Tests.Perf_Int32.CopySign(value: 1, sign: -1) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.ToStringHex(value: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.ToStringHex(value: -2147483648) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.ToStringHex(value: 12345) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.ToStringHex(value: 2147483647) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int32.ToString(value: 12345) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Numerics.Tests.Perf_VectorOf<UInt64>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.85 ns 2.46 ns 2.91 0.33 False
1.19 ns 2.78 ns 2.34 0.26 False
1.07 ns 2.64 ns 2.46 0.34 False
0.30 ns 1.75 ns 5.91 0.31 False
1.26 ns 2.47 ns 1.96 0.35 False
1.21 ns 2.47 ns 2.05 0.37 False
0.42 ns 1.77 ns 4.16 0.34 False
0.44 ns 1.78 ns 4.04 0.34 False
1.17 ns 2.70 ns 2.32 0.34 False
1.75 ns 3.48 ns 1.99 0.23 False
1.14 ns 2.46 ns 2.16 0.30 False
1.11 ns 2.39 ns 2.15 0.34 False
1.22 ns 3.14 ns 2.57 0.35 False
3.38 ns 4.70 ns 1.39 0.35 False
1.28 ns 3.00 ns 2.34 0.38 False
0.31 ns 1.82 ns 5.95 0.35 False
5.93 ns 7.86 ns 1.33 0.12 False
0.00 ns 2.90 ns 0.26 False
6.54 ns 9.35 ns 1.43 0.16 False
1.19 ns 3.25 ns 2.74 0.31 False
6.60 ns 9.19 ns 1.39 0.11 False
1.21 ns 2.69 ns 2.22 0.35 False
0.38 ns 1.71 ns 4.51 0.29 False
0.44 ns 1.76 ns 4.05 0.33 False
1.31 ns 2.48 ns 1.89 0.35 False
1.11 ns 2.71 ns 2.43 0.36 False
1.04 ns 3.05 ns 2.94 0.34 False
1.21 ns 3.01 ns 2.49 0.30 False
0.15 ns 1.93 ns 12.91 0.32 False
0.29 ns 1.77 ns 6.06 0.32 False
1.11 ns 2.97 ns 2.67 0.36 False
0.45 ns 1.77 ns 3.93 0.35 False
1.08 ns 3.22 ns 2.99 0.38 False
0.00 ns 2.45 ns 0.26 False
1.28 ns 2.66 ns 2.07 0.32 False
0.38 ns 1.80 ns 4.81 0.36 False
1.04 ns 3.15 ns 3.04 0.32 False
1.19 ns 3.54 ns 2.97 0.34 False
0.44 ns 1.79 ns 4.06 0.33 False
0.99 ns 2.49 ns 2.50 0.33 False
5.78 ns 7.80 ns 1.35 0.12 False
1.14 ns 2.46 ns 2.16 0.30 False
0.33 ns 1.75 ns 5.27 0.30 False

graph graph graph graph graph graph graph graph graph graph graph ![graph](<https://pvscmdupload.blob.core.windows.net/autofilereport/autofilereports/03_19_2024/refs/heads/main_arm64_ubuntu%2022.04_LLVM%3Dtrue_MonoAOT%3Dtrue_MonoInterpreter%3Dfalse_RunKind%3Dmicro_mono_Regression/System.Numeri

performanceautofiler[bot] commented 6 months ago

cs.Tests.Perf_VectorOf%28UInt64%29_12.png>) graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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_VectorOf<UInt64>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<UInt64>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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_VectorOf<UInt64>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_VectorOf<UInt64>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Numerics.Tests.Perf_VectorOf<UInt64>.BitwiseAndBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.ZeroBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.BitwiseAndOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.LessThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.SubtractBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.BitwiseOrBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.GreaterThanAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.GreaterThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.OnesComplementOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.NegateBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.GreaterThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.LessThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.MultiplyOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.CountBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.DivideBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.GreaterThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.DivisionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.LessThanBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.GreaterThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.GreaterThanOrEqualAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.EqualsStaticBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.LessThanOrEqualBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.ExclusiveOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.XorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.EqualsAllBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.LessThanAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.AndNotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.LessThanOrEqualAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.BitwiseOrOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.ConditionalSelectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.EqualsAnyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.OnesComplementBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.MultiplyBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.SubtractionOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_VectorOf<UInt64>.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Tests.Perf_Object

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.06 ns 9.71 ns 2.39 0.53 False

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Tests.Perf_Object*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Tests.Perf_Object* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Tests.Perf_Object*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Tests.Perf_Object* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Tests.Perf_Object.ctor #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Collections.Perf_Frozen<ReferenceType>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
137.91 μs 150.27 μs 1.09 0.02 False
147.64 μs 167.63 μs 1.14 0.04 False

graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Collections.Perf_Frozen<ReferenceType>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.Perf_Frozen<ReferenceType>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Collections.Perf_Frozen<ReferenceType>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.Perf_Frozen<ReferenceType>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Collections.Perf_Frozen<ReferenceType>.ToFrozenDictionary(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Perf_Frozen<ReferenceType>.ToFrozenSet(Count: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Memory.Span<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
13.10 ns 17.43 ns 1.33 0.08 False
12.88 ns 17.50 ns 1.36 0.06 False
21.38 ns 24.72 ns 1.16 0.07 False
15.09 ns 19.12 ns 1.27 0.03 False
8.73 ns 12.95 ns 1.48 0.04 False
30.93 ns 34.43 ns 1.11 0.04 False
10.21 ns 14.05 ns 1.38 0.07 False
31.60 ns 35.76 ns 1.13 0.03 False
17.80 ns 21.03 ns 1.18 0.06 False
20.20 ns 27.30 ns 1.35 0.18 False
8.10 ns 12.01 ns 1.48 0.12 False
22.90 ns 27.04 ns 1.18 0.03 False
41.27 ns 44.65 ns 1.08 0.05 False
12.21 ns 15.70 ns 1.29 0.06 False
13.63 ns 17.49 ns 1.28 0.10 False
21.17 ns 26.41 ns 1.25 0.18 False
27.87 ns 40.32 ns 1.45 0.58 False
33.62 ns 40.22 ns 1.20 0.14 False
17.37 ns 19.97 ns 1.15 0.05 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Memory.Span<Int32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Memory.Span<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Memory.Span<Int32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Memory.Span<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Memory.Span<Int32>.SequenceCompareToDifferent(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.SequenceCompareToDifferent(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.Fill(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.LastIndexOfValue(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.IndexOfAnyTwoValues(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.IndexOfAnyTwoValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.IndexOfAnyThreeValues(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.LastIndexOfAnyValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.IndexOfValue(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.BinarySearch(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.LastIndexOfAnyValues(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.LastIndexOfValue(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.IndexOfAnyThreeValues(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.IndexOfValue(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.SequenceCompareToDifferent(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.SequenceCompareTo(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.ToArray(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.BinarySearch(Size: 33) #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Span<Int32>.Fill(Size: 4) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Memory.MemoryMarshal<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
25.89 ns 27.45 ns 1.06 0.03 False
13.42 ns 16.01 ns 1.19 0.49 False
5.97 ns 9.91 ns 1.66 0.24 False
5.21 ns 10.40 ns 2.00 0.38 False

graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Memory.MemoryMarshal<Byte>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Memory.MemoryMarshal<Byte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Memory.MemoryMarshal<Byte>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Memory.MemoryMarshal<Byte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Memory.MemoryMarshal<Byte>.TryGetArray #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.MemoryMarshal<Byte>.AsBytes #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.MemoryMarshal<Byte>.CastToInt #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.MemoryMarshal<Byte>.CastToByte #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Memory.Constructors<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
3.99 ns 6.76 ns 1.69 0.27 False
3.02 ns 5.44 ns 1.80 0.19 False
2.86 ns 4.84 ns 1.70 0.36 False
2.86 ns 4.76 ns 1.67 0.23 False
3.05 ns 5.75 ns 1.88 0.18 False
3.23 ns 5.27 ns 1.63 0.24 False
3.15 ns 5.44 ns 1.72 0.16 False
3.94 ns 6.75 ns 1.71 0.20 False
6.70 ns 8.44 ns 1.26 0.33 False
1.56 ns 3.09 ns 1.99 0.47 False
6.85 ns 8.36 ns 1.22 0.41 False
2.83 ns 4.70 ns 1.66 0.31 False
3.07 ns 4.32 ns 1.41 0.42 False
1.46 ns 3.03 ns 2.07 0.43 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Memory.Constructors<Byte>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Memory.Constructors<Byte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Memory.Constructors<Byte>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Memory.Constructors<Byte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Memory.Constructors<Byte>.ReadOnlySpanFromMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.ReadOnlySpanFromArrayStartLength #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.SpanImplicitCastFromArray #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.ReadOnlySpanImplicitCastFromSpan #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.ArrayAsSpanStartLength #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.SpanFromArray #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.SpanFromArrayStartLength #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.SpanFromMemory #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.MemoryFromArrayStartLength #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.MemoryMarshalCreateSpan #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.ReadOnlyMemoryFromArrayStartLength #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.ArrayAsSpan #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.ReadOnlySpanFromArray #### ETL Files #### Histogram #### JIT Disasms ### System.Memory.Constructors<Byte>.MemoryMarshalCreateReadOnlySpan #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.IO.Tests.Perf_File

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
15.59 μs 21.15 μs 1.36 0.45 False
202.39 μs 245.46 μs 1.21 0.42 False
54.55 μs 67.27 μs 1.23 0.55 False
65.33 μs 75.38 μs 1.15 0.55 False
21.99 μs 28.28 μs 1.29 0.46 False
30.52 μs 37.90 μs 1.24 0.28 False
13.31 μs 20.91 μs 1.57 0.62 False
56.63 μs 66.06 μs 1.17 0.55 False
47.25 μs 59.78 μs 1.27 0.54 False
1.97 μs 3.89 μs 1.97 0.40 False
63.94 μs 73.31 μs 1.15 0.44 False

graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.IO.Tests.Perf_File*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.IO.Tests.Perf_File* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.IO.Tests.Perf_File*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.IO.Tests.Perf_File* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.IO.Tests.Perf_File.AppendAllText(size: 100) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.Perf_File.WriteAllText(size: 100000) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.Perf_File.WriteAllBytes(size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.Perf_File.CopyToOverwrite(size: 4096) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.Perf_File.ReadAllBytes(size: 16384) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.Perf_File.AppendAllText(size: 10000) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.Perf_File.Delete #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.Perf_File.CopyTo(size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.Perf_File.CopyTo(size: 4096) #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.Perf_File.Exists #### ETL Files #### Histogram #### JIT Disasms ### System.IO.Tests.Perf_File.CopyToOverwrite(size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in Microsoft.Extensions.Logging.FormattingOverhead

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
464.34 ns 514.42 ns 1.11 0.16 False

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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 'Microsoft.Extensions.Logging.FormattingOverhead*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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 Microsoft.Extensions.Logging.FormattingOverhead* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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 'Microsoft.Extensions.Logging.FormattingOverhead*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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 Microsoft.Extensions.Logging.FormattingOverhead* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Microsoft.Extensions.Logging.FormattingOverhead.TwoArguments_DefineMessage #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Collections.Concurrent.IsEmpty<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
21.29 ns 23.42 ns 1.10 0.03 False
38.80 ns 41.46 ns 1.07 0.02 False
20.62 ns 23.75 ns 1.15 0.04 False
9.09 ns 11.08 ns 1.22 0.07 False
9.24 ns 10.80 ns 1.17 0.09 False

graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Collections.Concurrent.IsEmpty<Int32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.Concurrent.IsEmpty<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Collections.Concurrent.IsEmpty<Int32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.Concurrent.IsEmpty<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Collections.Concurrent.IsEmpty<Int32>.Queue(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<Int32>.Dictionary(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<Int32>.Queue(Size: 0) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<Int32>.Stack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.Concurrent.IsEmpty<Int32>.Stack(Size: 0) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Linq.Tests.Perf_Enumerable

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.27 ns 6.65 ns 1.56 0.35 False

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Linq.Tests.Perf_Enumerable*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Linq.Tests.Perf_Enumerable* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Linq.Tests.Perf_Enumerable*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Linq.Tests.Perf_Enumerable* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Linq.Tests.Perf_Enumerable.Count(input: ICollection) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Collections.ContainsTrue<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
85.15 μs 91.76 μs 1.08 0.01 False

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Collections.ContainsTrue<Int32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.ContainsTrue<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Collections.ContainsTrue<Int32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.ContainsTrue<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Collections.ContainsTrue<Int32>.Stack(Size: 512) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in Microsoft.Extensions.Primitives.StringSegmentBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
6.90 ns 9.49 ns 1.38 0.16 False
1.46 ns 2.84 ns 1.95 0.48 False
23.63 ns 78.25 ns 3.31 0.41 False

graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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 'Microsoft.Extensions.Primitives.StringSegmentBenchmark*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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 Microsoft.Extensions.Primitives.StringSegmentBenchmark* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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 'Microsoft.Extensions.Primitives.StringSegmentBenchmark*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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 Microsoft.Extensions.Primitives.StringSegmentBenchmark* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Ctor_String #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Object_Invalid #### ETL Files #### Histogram #### JIT Disasms ### Microsoft.Extensions.Primitives.StringSegmentBenchmark.SubString #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Numerics.Tests.Perf_Vector3

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.20 ns 1.24 ns 6.24 0.53 False
0.14 ns 1.83 ns 13.07 0.66 False
0.15 ns 1.16 ns 7.61 0.57 False
0.03 ns 1.88 ns 69.25 0.36 False
0.18 ns 1.87 ns 10.66 0.47 False
21.68 ns 29.62 ns 1.37 0.13 False

graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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_Vector3*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_Vector3* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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_Vector3*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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_Vector3* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Numerics.Tests.Perf_Vector3.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.DistanceSquaredBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.LengthSquaredBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.GetHashCodeBenchmark #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Tests.Perf_Int64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
1.73 ns 3.84 ns 2.21 0.56 False
61.52 ns 69.86 ns 1.14 0.37 False

graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Tests.Perf_Int64*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Tests.Perf_Int64* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Tests.Perf_Int64*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Tests.Perf_Int64* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Tests.Perf_Int64.CopySign(value: 1, sign: -1) #### ETL Files #### Histogram #### JIT Disasms ### System.Tests.Perf_Int64.ToString(value: 12345) #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Threading.Tests.Perf_Volatile

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
0.84 ns 6.39 ns 7.63 0.21 False
0.10 ns 5.59 ns 57.93 0.25 False

graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Threading.Tests.Perf_Volatile*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Threading.Tests.Perf_Volatile* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Threading.Tests.Perf_Volatile*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Threading.Tests.Perf_Volatile* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Threading.Tests.Perf_Volatile.Read_double #### ETL Files #### Histogram #### JIT Disasms ### System.Threading.Tests.Perf_Volatile.Write_double #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture arm64
OS ubuntu 22.04
Queue AmpereUbuntu
Baseline 3eb8c7f1086b79b28a27b57a935f97be3b7fcccb
Compare 27214a0787f9a0ee95c799639431d9d16c25d1ac
Diff Diff
Configs CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Regressions in System.Collections.CtorDefaultSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
36.15 ns 41.92 ns 1.16 0.42 False
15.00 ns 18.64 ns 1.24 0.39 False
13.00 ns 21.27 ns 1.64 0.53 False
13.32 ns 18.13 ns 1.36 0.47 False
23.47 ns 28.26 ns 1.20 0.52 False
5.71 ns 10.11 ns 1.77 0.63 False

graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - 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` - AOT MONO 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 /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - 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 aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # 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.Collections.CtorDefaultSize<Int32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.CtorDefaultSize<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /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.Collections.CtorDefaultSize<Int32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # 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.Collections.CtorDefaultSize<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### System.Collections.CtorDefaultSize<Int32>.SortedList #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorDefaultSize<Int32>.Queue #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorDefaultSize<Int32>.List #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorDefaultSize<Int32>.Stack #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorDefaultSize<Int32>.SortedSet #### ETL Files #### Histogram #### JIT Disasms ### System.Collections.CtorDefaultSize<Int32>.ConcurrentStack #### ETL Files #### Histogram #### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)