dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/x64: 253 Improvements on 5/5/2026 5:18:31 PM +00:00

Open
#72,667 10 comments 0 reactions 0 assignees View on GitHub
arch-wasm arch-x64 branch-refs/heads/main compilationmode-wasm kind-micro os-linux perf-improvement runkind-micro runtimetype-coreclr untriaged
Dominant language
No language data
Stars
10
Forks
8
PR merge metrics
PR metrics pending

Description

### Run Information

Name | Value
-- | --
Architecture | x64
OS | ubuntu 22.04
Queue | ViperUbuntu
Baseline | [349228c1adaa2a4250db5257f876d218ed6dbc51](https://github.com/dotnet/runtime/commit/349228c1adaa2a4250db5257f876d218ed6dbc51)
Compare | [9dced0c3655de3955d9fa7887f6da165b50acbe6](https://github.com/dotnet/runtime/commit/9dced0c3655de3955d9fa7887f6da165b50acbe6)
Diff | [Diff](https://github.com/dotnet/runtime/compare/349228c1adaa2a4250db5257f876d218ed6dbc51...9dced0c3655de3955d9fa7887f6da165b50acbe6)
Configs | CompilationMode:wasm, RunKind:micro, RuntimeType:coreclr

### Improvements in System.MathBenchmarks.Double

Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [Sin - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 722.86 μs | 258.69 μs | 0.36 | 0.12 | False | | |
|
  • [Log - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 697.82 μs | 250.06 μs | 0.36 | 0.14 | False | | |
|
  • [Sqrt - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 641.21 μs | 232.38 μs | 0.36 | 0.18 | False | | |
|
  • [Ceiling - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 637.30 μs | 236.26 μs | 0.37 | 0.21 | False | | |
|
  • [Exp - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 657.37 μs | 247.62 μs | 0.38 | 0.11 | False | | |
|
  • [FusedMultiplyAdd - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1030.67 μs | 389.90 μs | 0.38 | 0.15 | False | | |
|
  • [Asin - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 718.88 μs | 274.88 μs | 0.38 | 0.11 | False | | |
|
  • [Log2 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 678.31 μs | 263.14 μs | 0.39 | 0.12 | False | | |
|
  • [Atan - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 693.24 μs | 270.57 μs | 0.39 | 0.05 | False | | |
|
  • [Cos - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 690.03 μs | 273.51 μs | 0.40 | 0.08 | False | | |
|
  • [Acos - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 699.05 μs | 278.00 μs | 0.40 | 0.11 | False | | |
|
  • [Atan2 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 856.33 μs | 347.16 μs | 0.41 | 0.09 | False | | |
|
  • [Tan - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 708.95 μs | 293.06 μs | 0.41 | 0.09 | False | | |
|
  • [Log10 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 726.35 μs | 303.58 μs | 0.42 | 0.09 | False | | |
|
  • [Pow - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 867.28 μs | 369.62 μs | 0.43 | 0.06 | False | | |
|
  • [Floor - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 587.44 μs | 253.59 μs | 0.43 | 0.16 | False | | |
|
  • [Cbrt - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 751.86 μs | 326.01 μs | 0.43 | 0.07 | False | | |
|
  • [Acosh - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 747.58 μs | 329.14 μs | 0.44 | 0.07 | False | | |
|
  • [Atanh - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 750.83 μs | 331.34 μs | 0.44 | 0.13 | False | | |
|
  • [Cosh - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 734.28 μs | 327.87 μs | 0.45 | 0.13 | False | | |
|
  • [Sinh - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 750.58 μs | 335.33 μs | 0.45 | 0.11 | False | | |
|
  • [Tanh - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 779.11 μs | 357.91 μs | 0.46 | 0.10 | False | | |
|
  • [Asinh - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 765.01 μs | 356.12 μs | 0.47 | 0.07 | False | | |
|
  • [ExpM1 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 771.05 μs | 359.03 μs | 0.47 | 0.14 | False | | |
|
  • [Exp2 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 917.52 μs | 430.97 μs | 0.47 | 0.18 | False | | |
|
  • [Exp2M1 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 932.93 μs | 440.84 μs | 0.47 | 0.15 | False | | |
|
  • [LogP1 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 770.02 μs | 369.09 μs | 0.48 | 0.17 | False | | |
|
  • [Log2P1 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 779.29 μs | 379.38 μs | 0.49 | 0.17 | False | | |
|
  • [Exp10M1 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 935.66 μs | 459.97 μs | 0.49 | 0.11 | False | | |
|
  • [Exp10 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 912.79 μs | 474.36 μs | 0.52 | 0.07 | False | | |
|
  • [AsinPi - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 897.47 μs | 475.26 μs | 0.53 | 0.12 | False | | |
|
  • [AcosPi - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 881.67 μs | 481.17 μs | 0.55 | 0.08 | False | | |
|
  • [SinCos - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1383.98 μs | 856.43 μs | 0.62 | 0.16 | 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

```cmd
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.MathBenchmarks.Double*'
```

### System.MathBenchmarks.Double.Sin

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Log

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Sqrt

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Ceiling

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Exp

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.FusedMultiplyAdd

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Asin

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Log2

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Atan

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Cos

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Acos

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Atan2

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Tan

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Log10

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Pow

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Floor

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Cbrt

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Acosh

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Atanh

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Cosh

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Sinh

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Tanh

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Asinh

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.ExpM1

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Exp2

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Exp2M1

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.LogP1

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Log2P1

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Exp10M1

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Exp10

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.AsinPi

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.AcosPi

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.SinCos

#### 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)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.