Skip to content

[Perf] Linux/arm64: 2182 Regressions on 2/20/2024 2:11:38 AM #30003

@performanceautofiler

Description

@performanceautofiler

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

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 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 1200

Windows

# 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 1200
Details

Payloads

Baseline
Compare

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions