-
Notifications
You must be signed in to change notification settings - Fork 3
Closed
Description
Run Information
| Name | Value |
|---|---|
| Architecture | arm64 |
| OS | ubuntu 22.04 |
| Queue | AmpereUbuntu |
| Baseline | eeadd653e1982d7037a93a9ab38129c07336e7db |
| Compare | 9dc6ea62a4d195ae4559f4609a56933c61889756 |
| Diff | Diff |
| Configs | CompilationMode:tiered, LLVM:true, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono |
Regressions in System.Numerics.Tests.Perf_Matrix3x2
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
|---|---|---|---|---|---|---|---|---|
| 10.75 ns | 28.51 ns | 2.65 | 0.05 | True | ||||
| 8.13 ns | 23.08 ns | 2.84 | 0.16 | True | ||||
| 4.79 ns | 13.38 ns | 2.80 | 0.37 | True | ||||
| 9.36 ns | 16.10 ns | 1.72 | 0.19 | True | ||||
| 13.50 ns | 45.24 ns | 3.35 | 0.06 | True | ||||
| 4.78 ns | 18.38 ns | 3.84 | 0.35 | True | ||||
| 26.70 ns | 111.49 ns | 4.18 | 0.42 | True | ||||
| 9.79 ns | 19.33 ns | 1.97 | 0.30 | True | ||||
| 4.85 ns | 13.84 ns | 2.86 | 0.20 | True | ||||
| 10.98 ns | 28.66 ns | 2.61 | 0.02 | True | ||||
| 11.20 ns | 28.42 ns | 2.54 | 0.04 | True | ||||
| 28.62 ns | 116.79 ns | 4.08 | 0.43 | True | ||||
| 8.12 ns | 22.80 ns | 2.81 | 0.10 | True | ||||
| 9.28 ns | 16.18 ns | 1.74 | 0.20 | True | ||||
| 10.95 ns | 28.89 ns | 2.64 | 0.05 | True | ||||
| 18.66 ns | 47.93 ns | 2.57 | 0.03 | True | ||||
| 18.44 ns | 40.79 ns | 2.21 | 0.01 | True | ||||
| 8.22 ns | 12.95 ns | 1.58 | 0.29 | True | ||||
| 4.28 ns | 21.39 ns | 5.00 | 0.29 | True | ||||
| 4.80 ns | 18.32 ns | 3.82 | 0.32 | True | ||||
| 4.74 ns | 15.83 ns | 3.34 | 0.41 | True | ||||
| 4.69 ns | 19.53 ns | 4.16 | 0.27 | True | ||||
| 12.59 ns | 58.23 ns | 4.63 | 0.05 | True | ||||
| 5.28 ns | 19.95 ns | 3.78 | 0.42 | True | ||||
| 5.20 ns | 8.53 ns | 1.64 | 0.44 | True | ||||
| 10.98 ns | 23.35 ns | 2.13 | 0.02 | True | ||||
| 4.43 ns | 16.47 ns | 3.71 | 0.34 | True | ||||
| 4.52 ns | 19.82 ns | 4.39 | 0.31 | True | ||||
| 9.57 ns | 19.10 ns | 2.00 | 0.25 | True |
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/artifactsor build instructions: Libraries README 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 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 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
# 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_Matrix3x2*' --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_Matrix3x2* --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 1200Windows
# 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_Matrix3x2*' --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_Matrix3x2* --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 1200Details
Payloads
System.Numerics.Tests.Perf_Matrix3x2.SubtractBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.InequalityOperatorBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.CreateTranslationFromVectorBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.NegateBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.InvertBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.CreateRotationBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.GetDeterminantBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.AddOperatorBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.SubtractOperatorBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.CreateRotationWithCenterBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.EqualityOperatorBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.NegationOperatorBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.AddBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.MultiplyByMatrixOperatorBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.MultiplyByMatrixBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.IsIdentityBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarXYWithCenterBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarXYBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.CreateFromScalars
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromVectorBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.EqualsBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarWithCenterBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.IdentityBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.LerpBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.CreateTranslationFromScalarXY
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromVectorWithCenterBenchmark
ETL Files
Histogram
JIT Disasms
System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarOperatorBenchmark
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Reactions are currently unavailable




























