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/x64: 87 Regressions on 6/15/2024 2:08:36 PM #36484

Open performanceautofiler[bot] opened 2 weeks ago

performanceautofiler[bot] commented 2 weeks ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36
Compare 4834a507be8698d901ff36d10284ca8703743b93
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tests.Perf_Vector3

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
10.62 ns 30.62 ns 2.88 0.62 False
11.20 ns 29.83 ns 2.66 0.53 False
20.78 ns 38.28 ns 1.84 0.40 False
30.89 ns 64.10 ns 2.07 0.35 False
20.27 ns 38.59 ns 1.90 0.31 False
25.61 ns 81.21 ns 3.17 0.37 True
20.19 ns 38.25 ns 1.89 0.38 False
13.83 ns 34.55 ns 2.50 0.68 False
29.92 ns 100.55 ns 3.36 0.20 False
30.93 ns 106.89 ns 3.46 0.27 True
21.23 ns 35.33 ns 1.66 0.43 False
13.97 ns 46.21 ns 3.31 0.59 True
13.14 ns 42.93 ns 3.27 0.55 True
25.52 ns 72.05 ns 2.82 0.42 True
29.81 ns 64.19 ns 2.15 0.37 False
10.91 ns 34.49 ns 3.16 0.69 False
49.16 ns 133.04 ns 2.71 0.27 True
16.45 ns 40.43 ns 2.46 0.48 False
11.87 ns 30.53 ns 2.57 0.48 False
29.92 ns 96.49 ns 3.23 0.26 False
17.18 ns 36.45 ns 2.12 0.48 False

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

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Vector3*'
### System.Numerics.Tests.Perf_Vector3.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.MultiplyByScalarOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.DivideByScalarBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.LerpBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.DivideByScalarOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.LengthSquaredBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.TransformByMatrix4x4Benchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.ReflectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.MultiplyByScalarBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.DistanceBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.DistanceSquaredBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.NormalizeBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.LengthBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.ClampBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.SquareRootBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.TransformNormalByMatrix4x4Benchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector3.AbsBenchmark #### 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 x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36
Compare 4834a507be8698d901ff36d10284ca8703743b93
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tests.Perf_Vector4

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
29.68 ns 98.61 ns 3.32 0.24 False
12.86 ns 31.66 ns 2.46 0.39 False
17.30 ns 57.45 ns 3.32 0.37 False
28.85 ns 47.31 ns 1.64 0.38 False
12.86 ns 32.31 ns 2.51 0.37 False
13.11 ns 33.21 ns 2.53 0.40 False
13.64 ns 33.89 ns 2.48 0.42 False
30.06 ns 74.49 ns 2.48 0.30 False
29.51 ns 99.54 ns 3.37 0.24 False

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

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Vector4*'
### System.Numerics.Tests.Perf_Vector4.TransformVector3ByMatrix4x4Benchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.MultiplyByScalarOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.LerpBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.NormalizeBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.MultiplyByScalarBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.DivideByScalarBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.DivideByScalarOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.TransformVector2ByMatrix4x4Benchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector4.TransformByMatrix4x4Benchmark #### 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 2 weeks ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36
Compare 4834a507be8698d901ff36d10284ca8703743b93
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tests.Perf_Matrix3x2

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
57.74 ns 190.34 ns 3.30 0.13 True
27.63 ns 33.66 ns 1.22 0.32 False
26.47 ns 40.58 ns 1.53 0.37 False
51.84 ns 58.04 ns 1.12 0.10 False
52.13 ns 56.73 ns 1.09 0.15 False
52.96 ns 58.44 ns 1.10 0.14 False
40.12 ns 107.12 ns 2.67 0.20 True
65.18 ns 390.89 ns 6.00 0.17 True
26.97 ns 33.80 ns 1.25 0.36 False
58.65 ns 118.44 ns 2.02 0.19 False
51.98 ns 60.42 ns 1.16 0.16 False
57.55 ns 190.54 ns 3.31 0.17 True
53.42 ns 184.84 ns 3.46 0.16 True
40.04 ns 107.15 ns 2.68 0.18 True

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

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Matrix3x2*'
### System.Numerics.Tests.Perf_Matrix3x2.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarWithCenterBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromVectorWithCenterBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix3x2.SubtractOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix3x2.AddOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix3x2.AddBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix3x2.LerpBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarXYWithCenterBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix3x2.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### 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.IsIdentityBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarBenchmark #### 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 2 weeks ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline b4a1fa2293f31aa694e5a433aca676c29b50de81
Compare 4834a507be8698d901ff36d10284ca8703743b93
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tests.Perf_Vector2

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
31.29 ns 86.93 ns 2.78 0.36 True
7.36 ns 42.24 ns 5.74 0.69 True
11.62 ns 38.69 ns 3.33 0.57 True
12.45 ns 36.69 ns 2.95 0.52 True
9.35 ns 35.98 ns 3.85 0.52 False
11.77 ns 53.41 ns 4.54 0.61 True
16.48 ns 34.87 ns 2.12 0.44 False
28.79 ns 67.78 ns 2.35 0.34 False
12.60 ns 51.04 ns 4.05 0.57 True
9.92 ns 45.08 ns 4.54 0.68 True
19.62 ns 35.99 ns 1.83 0.47 False
35.17 ns 119.91 ns 3.41 0.36 True
23.65 ns 75.86 ns 3.21 0.39 True
34.78 ns 93.62 ns 2.69 0.23 True
13.02 ns 32.40 ns 2.49 0.51 True
14.39 ns 34.85 ns 2.42 0.63 False
17.51 ns 34.77 ns 1.99 0.47 False
9.70 ns 43.50 ns 4.49 0.67 True
28.89 ns 75.04 ns 2.60 0.30 False
24.59 ns 66.40 ns 2.70 0.43 True
23.12 ns 118.02 ns 5.10 0.41 True
22.86 ns 60.31 ns 2.64 0.38 True
20.05 ns 78.15 ns 3.90 0.51 True

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

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Vector2*'
### System.Numerics.Tests.Perf_Vector2.TransformNormalByMatrix3x2Benchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.DotBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.InequalityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.SquareRootBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.EqualityOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.DistanceBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.MultiplyByScalarOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.TransformNormalByMatrix4x4Benchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.DistanceSquaredBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.LengthSquaredBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.DivideByScalarOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.ClampBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.LerpBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.TransformByMatrix3x2Benchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.AbsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.EqualsBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.DivideByScalarBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.LengthBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.TransformByMatrix4x4Benchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.MinBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.ReflectBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.MaxBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Vector2.NormalizeBenchmark #### 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 2 weeks ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36
Compare 4834a507be8698d901ff36d10284ca8703743b93
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tests.Perf_Matrix4x4

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
141.71 ns 639.92 ns 4.52 0.07 True
188.88 ns 314.63 ns 1.67 0.11 False
346.07 ns 1.09 ΞΌs 3.15 0.12 True
40.68 ns 51.21 ns 1.26 0.41 False
149.51 ns 538.09 ns 3.60 0.14 False
333.43 ns 849.75 ns 2.55 0.08 True
118.25 ns 744.72 ns 6.30 0.06 True
45.46 ns 135.21 ns 2.97 0.27 True
128.00 ns 288.42 ns 2.25 0.13 False
36.09 ns 51.65 ns 1.43 0.40 False
137.80 ns 389.70 ns 2.83 0.04 True
60.69 ns 257.54 ns 4.24 0.09 False
38.20 ns 51.65 ns 1.35 0.39 False
45.46 ns 133.76 ns 2.94 0.27 True
49.58 ns 67.37 ns 1.36 0.25 False

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

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Matrix4x4*'
### System.Numerics.Tests.Perf_Matrix4x4.CreateLookAtBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.CreateShadowBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.DecomposeBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarXYZWithCenterBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.MultiplyByMatrixOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.CreateConstrainedBillboardBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.CreateWorldBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.MultiplyByScalarBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.CreateReflectionBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarXYZBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.CreateBillboardBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.LerpBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarWithCenterBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.MultiplyByScalarOperatorBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromVectorWithCenterBenchmark #### 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 x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36
Compare 87cd2c4257bd21e84d3d6990f55465be01f63399
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in System.Numerics.Tests.Perf_Plane

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
11.90 ns 32.96 ns 2.77 0.65 False
27.34 ns 44.29 ns 1.62 0.30 False
58.11 ns 148.36 ns 2.55 0.15 True
13.64 ns 33.15 ns 2.43 0.61 False

graph graph graph graph Test Report

Repro

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

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tests.Perf_Plane*'
### System.Numerics.Tests.Perf_Plane.DotNormalBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Plane.NormalizeBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Plane.CreateFromVerticesBenchmark #### ETL Files #### Histogram #### JIT Disasms ### System.Numerics.Tests.Perf_Plane.DotCoordinateBenchmark #### 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 x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36
Compare 4834a507be8698d901ff36d10284ca8703743b93
Diff Diff
Configs CompilationMode:wasm, RunKind:micro

Regressions in SIMD.RayTracerBench

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.32 secs 3.38 secs 1.45 0.11 False

graph Test Report

Repro

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

git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'SIMD.RayTracerBench*'
### SIMD.RayTracerBench.Bench #### 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)
lewing commented 2 weeks ago

@tannergooding this looks like https://github.com/dotnet/runtime/pull/103462

cc @radekdoulik

https://github.com/dotnet/runtime/compare/7e9cab2bd10c19bbe9a8212ab1071e6d03f729d7...4b7fda5ed1bf51d3c2d758590315ca6d8982b77b is the diff

steveisok commented 2 weeks ago

/cc @fanyang-mono

tannergooding commented 2 weeks ago

That's a pretty big drop here.

I'd speculate that unlike the Vector4 case where we saw improvements (which uses AsVector128()), this is likely because WASM doesn't have support for AsVector128Unsafe and so we're seeing regressions instead.

tannergooding commented 2 weeks ago

@fanyang-mono could you confirm if WASM is just using mono/mini/simd-intrinsics.c? I can go add in the support there, just want to confirm I'm not missing a location for the handling.

fanyang-mono commented 2 weeks ago

I believe that mono/mini/simd-intrinsics.c is where majority of the wasm intrinsics logic lives. @radekdoulik Could you confirm?

matouskozak commented 2 weeks ago

Adding related x64 Mono AOT-llvm regressions https://github.com/dotnet/runtime/issues/103652

tannergooding commented 1 week ago

I've got a PR up here that includes a fix alongside some other Mono changes that I had been working on for new APIs: https://github.com/dotnet/runtime/pull/103837

Waiting for CI to finish before marking it ready-for-review, however.

radekdoulik commented 1 week ago

I believe that mono/mini/simd-intrinsics.c is where majority of the wasm intrinsics logic lives. @radekdoulik Could you confirm?

yes, this is where AOT simd intrinsics live. this issue is based on inteprpreter measurements though. @kg and @BrzVlad knows interp simd best.

kg commented 1 week ago

Yeah, you'd be looking for interp-simd.c. For code size and complexity reasons, the interp doesn't have support for every single SIMD intrinsic, just the ones that were most critical for workloads at the time. Grepping the source, we don't support AsVector128Unsafe, but it's probably not hard to add. Adding it will require updating both the interp and the jiterpreter.