dotnet / dotnet/perf-autofiling-issues

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

Open
#73,026 13 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
-- | -- | -- | -- | -- | -- | -- | -- | --
|

  • [Ceiling - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 632.29 μs | 223.41 μs | 0.35 | 0.21 | False | | |
|
  • [Floor - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 624.53 μs | 224.66 μs | 0.36 | 0.19 | False | | |
|
  • [Sin - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 692.06 μs | 259.45 μs | 0.37 | 0.15 | False | | |
|
  • [Exp - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 638.02 μs | 240.27 μs | 0.38 | 0.13 | False | | |
|
  • [Log2 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 657.84 μs | 252.30 μs | 0.38 | 0.12 | False | | |
|
  • [Asin - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 668.75 μs | 257.01 μs | 0.38 | 0.11 | False | | |
|
  • [Cos - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 664.22 μs | 258.43 μs | 0.39 | 0.10 | False | | |
|
  • [Atan - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 669.52 μs | 260.96 μs | 0.39 | 0.06 | False | | |
|
  • [Acos - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 669.85 μs | 264.48 μs | 0.39 | 0.13 | False | | |
|
  • [Log - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 646.81 μs | 260.62 μs | 0.40 | 0.16 | False | | |
|
  • [Tan - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 691.95 μs | 280.82 μs | 0.41 | 0.09 | False | | |
|
  • [FusedMultiplyAdd - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 906.06 μs | 377.08 μs | 0.42 | 0.16 | False | | |
|
  • [Exp2 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1008.06 μs | 424.91 μs | 0.42 | 0.16 | False | | |
|
  • [Log10 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 703.79 μs | 297.34 μs | 0.42 | 0.08 | False | | |
|
  • [Cbrt - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 717.86 μs | 312.20 μs | 0.43 | 0.07 | False | | |
|
  • [Atan2 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 800.95 μs | 349.83 μs | 0.44 | 0.07 | False | | |
|
  • [Tanh - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 797.28 μs | 348.55 μs | 0.44 | 0.09 | False | | |
|
  • [Cosh - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 708.52 μs | 311.30 μs | 0.44 | 0.12 | False | | |
|
  • [Sinh - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 735.13 μs | 323.51 μs | 0.44 | 0.11 | False | | |
|
  • [Pow - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 814.31 μs | 361.08 μs | 0.44 | 0.06 | False | | |
|
  • [Acosh - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 725.97 μs | 322.52 μs | 0.44 | 0.07 | False | | |
|
  • [Asinh - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 751.04 μs | 343.92 μs | 0.46 | 0.07 | False | | |
|
  • [Exp10 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 896.14 μs | 420.18 μs | 0.47 | 0.07 | False | | |
|
  • [Exp2M1 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 892.81 μs | 429.85 μs | 0.48 | 0.14 | False | | |
|
  • [ExpM1 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 759.74 μs | 367.29 μs | 0.48 | 0.14 | False | | |
|
  • [Exp10M1 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 891.08 μs | 433.27 μs | 0.49 | 0.10 | False | | |
|
  • [Log2P1 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 758.93 μs | 375.15 μs | 0.49 | 0.18 | False | | |
|
  • [Atanh - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 647.05 μs | 320.89 μs | 0.50 | 0.12 | False | | |
|
  • [Log10P1 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 820.68 μs | 418.72 μs | 0.51 | 0.07 | False | | |
|
  • [LogP1 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 754.58 μs | 385.51 μs | 0.51 | 0.15 | False | | |
|
  • [Sqrt - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 629.65 μs | 325.41 μs | 0.52 | 0.18 | False | | |
|
  • [AcosPi - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 858.34 μs | 462.06 μs | 0.54 | 0.09 | False | | |
|
  • [AsinPi - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 860.84 μs | 467.43 μs | 0.54 | 0.11 | False | | |
|
  • [AtanPi - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 865.79 μs | 470.64 μs | 0.54 | 0.11 | False | | |
|
  • [SinCos - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1403.54 μs | 864.50 μs | 0.62 | 0.17 | 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]()
![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.Ceiling

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Floor

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Sin

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Exp

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Log2

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Asin

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Cos

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Atan

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Acos

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Log

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Tan

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.FusedMultiplyAdd

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Exp2

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Log10

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Cbrt

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Atan2

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Tanh

#### 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.Pow

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Acosh

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Asinh

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Exp10

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Exp2M1

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.ExpM1

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Exp10M1

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Log2P1

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Atanh

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Log10P1

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.LogP1

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.Sqrt

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.AcosPi

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.AsinPi

#### ETL Files

#### Histogram

#### JIT Disasms

### System.MathBenchmarks.Double.AtanPi

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