Open performanceautofiler[bot] opened 2 weeks ago
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36 |
Compare | 4834a507be8698d901ff36d10284ca8703743b93 |
Diff | Diff |
Configs | CompilationMode:wasm, RunKind:micro |
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 |
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*'
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | b4a1fa2293f31aa694e5a433aca676c29b50de81 |
Compare | 4834a507be8698d901ff36d10284ca8703743b93 |
Diff | Diff |
Configs | CompilationMode:wasm, RunKind:micro |
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 |
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*'
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36 |
Compare | 4834a507be8698d901ff36d10284ca8703743b93 |
Diff | Diff |
Configs | CompilationMode:wasm, RunKind:micro |
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 |
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*'
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36 |
Compare | 87cd2c4257bd21e84d3d6990f55465be01f63399 |
Diff | Diff |
Configs | CompilationMode:wasm, RunKind:micro |
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 |
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*'
Name | Value |
---|---|
Architecture | x64 |
OS | ubuntu 22.04 |
Queue | TigerUbuntu |
Baseline | 5ba3c05f3bf0ea789421c6e69d3983ecdc086f36 |
Compare | 4834a507be8698d901ff36d10284ca8703743b93 |
Diff | Diff |
Configs | CompilationMode:wasm, RunKind:micro |
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 |
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*'
@tannergooding this looks like https://github.com/dotnet/runtime/pull/103462
cc @radekdoulik
/cc @fanyang-mono
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.
@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.
I believe that mono/mini/simd-intrinsics.c
is where majority of the wasm intrinsics logic lives. @radekdoulik Could you confirm?
Adding related x64 Mono AOT-llvm regressions https://github.com/dotnet/runtime/issues/103652
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.
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.
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.
Run Information
Regressions in System.Numerics.Tests.Perf_Vector3
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Run Information
Regressions in System.Numerics.Tests.Perf_Vector4
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md