dotnet / dotnet/perf-autofiling-issues

[Perf] Linux/x64: 82 Regressions on 2/11/2026 4:18:47 PM +00:00

Open
#68,908 7 comments 0 reactions 0 assignees View on GitHub
arch-x64 branch-refs/heads/main kind-micro Look Again os-linux perf-regression runtime-coreclr
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 | [6641d63f5e8e4878ee1ca5a0ca1a448a36449e0e](https://github.com/dotnet/runtime/commit/6641d63f5e8e4878ee1ca5a0ca1a448a36449e0e)
Compare | [92741bebcae5b82cd537979eef962674627e7f89](https://github.com/dotnet/runtime/commit/92741bebcae5b82cd537979eef962674627e7f89)
Diff | [Diff](https://github.com/dotnet/runtime/compare/6641d63f5e8e4878ee1ca5a0ca1a448a36449e0e...92741bebcae5b82cd537979eef962674627e7f89)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>

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

  • [SerializeToStream - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 131.61 ns | 144.20 ns | 1.10 | 0.16 | False | | |
|
  • [SerializeToString - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 87.49 ns | 100.60 ns | 1.15 | 0.13 | False | | |
|
  • [SerializeObjectProperty - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 128.78 ns | 149.23 ns | 1.16 | 0.06 | False | | |
|
  • [SerializeToUtf8Bytes - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 76.26 ns | 92.19 ns | 1.21 | 0.11 | False | | |
|
  • [SerializeObjectProperty - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 126.10 ns | 143.39 ns | 1.14 | 0.08 | False | | |
|
  • [SerializeToUtf8Bytes - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 76.34 ns | 102.77 ns | 1.35 | 0.18 | False | | |
|
  • [SerializeToWriter - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 47.26 ns | 58.13 ns | 1.23 | 0.13 | False | | |
|
  • [SerializeToString - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 88.68 ns | 105.51 ns | 1.19 | 0.09 | False | | |
|
  • [SerializeToWriter - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 47.14 ns | 57.90 ns | 1.23 | 0.27 | 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

```cmd
git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson>*'
```

### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToStream(Mode: SourceGen)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToString(Mode: SourceGen)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeObjectProperty(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToUtf8Bytes(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeObjectProperty(Mode: SourceGen)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToUtf8Bytes(Mode: SourceGen)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToWriter(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToString(Mode: Reflection)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Json.Serialization.Tests.WriteJson<Nullable<DateTimeOffset>>.SerializeToWriter(Mode: SourceGen)

#### 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 | ViperUbuntu
Baseline | [6641d63f5e8e4878ee1ca5a0ca1a448a36449e0e](https://github.com/dotnet/runtime/commit/6641d63f5e8e4878ee1ca5a0ca1a448a36449e0e)
Compare | [92741bebcae5b82cd537979eef962674627e7f89](https://github.com/dotnet/runtime/commit/92741bebcae5b82cd537979eef962674627e7f89)
Diff | [Diff](https://github.com/dotnet/runtime/compare/6641d63f5e8e4878ee1ca5a0ca1a448a36449e0e...92741bebcae5b82cd537979eef962674627e7f89)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in MicroBenchmarks.Serializers.Json_ToString<MyEventsListerViewModel>

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

  • [SystemTextJson_SourceGen_ - Duration of single invocation]()
  • [ADX - Test Multi Config Graph]()
| 198.63 ฮผs | 216.59 ฮผs | 1.09 | 0.03 | False | | |
|
  • [SystemTextJson_Reflection_ - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 215.64 ฮผs | 229.59 ฮผs | 1.06 | 0.04 | False | | |

![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 'MicroBenchmarks.Serializers.Json_ToString*'
```

### MicroBenchmarks.Serializers.Json_ToString<MyEventsListerViewModel>.SystemTextJson_SourceGen_

#### ETL Files

#### Histogram

#### JIT Disasms

### MicroBenchmarks.Serializers.Json_ToString<MyEventsListerViewModel>.SystemTextJson_Reflection_

#### 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 | ViperUbuntu
Baseline | [6641d63f5e8e4878ee1ca5a0ca1a448a36449e0e](https://github.com/dotnet/runtime/commit/6641d63f5e8e4878ee1ca5a0ca1a448a36449e0e)
Compare | [92741bebcae5b82cd537979eef962674627e7f89](https://github.com/dotnet/runtime/commit/92741bebcae5b82cd537979eef962674627e7f89)
Diff | [Diff](https://github.com/dotnet/runtime/compare/6641d63f5e8e4878ee1ca5a0ca1a448a36449e0e...92741bebcae5b82cd537979eef962674627e7f89)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Tests.Perf_String

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

  • [Split - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 12.30 ns | 26.31 ns | 2.14 | 0.11 | False | | |
|
  • [Format_OneArg - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 567.09 ns | 616.66 ns | 1.09 | 0.05 | False | | |

![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.Tests.Perf_String*'
```

### System.Tests.Perf_String.Split(s: "ABCDEFGHIJKLMNOPQRSTUVWXYZ", arr: [' '], options: None)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Tests.Perf_String.Format_OneArg(s: "Testing {0}, {0:C}, {0:E} - {0:F4}{0:G}{0:N} , !!", o: 3.14159)

#### 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 | ViperUbuntu
Baseline | [6641d63f5e8e4878ee1ca5a0ca1a448a36449e0e](https://github.com/dotnet/runtime/commit/6641d63f5e8e4878ee1ca5a0ca1a448a36449e0e)
Compare | [92741bebcae5b82cd537979eef962674627e7f89](https://github.com/dotnet/runtime/commit/92741bebcae5b82cd537979eef962674627e7f89)
Diff | [Diff](https://github.com/dotnet/runtime/compare/6641d63f5e8e4878ee1ca5a0ca1a448a36449e0e...92741bebcae5b82cd537979eef962674627e7f89)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Numerics.Tests.Perf_BigInteger

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

  • [Parse - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 50.44 ns | 62.36 ns | 1.24 | 0.03 | False | | |
|
  • [ToStringX - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 176.65 ns | 187.86 ns | 1.06 | 0.02 | False | | |
|
  • [ToStringX - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 29.00 ns | 39.45 ns | 1.36 | 0.11 | False | | |
|
  • [ToStringD - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 10.78 ns | 19.84 ns | 1.84 | 0.19 | False | | |
|
  • [ToStringX - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 34.40 ns | 46.24 ns | 1.34 | 0.14 | False | | |
|
  • [ModPow - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 39.25 ฮผs | 58.67 ฮผs | 1.49 | 0.02 | False | | |
|
  • [Add - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 40.97 ns | 58.40 ns | 1.43 | 0.03 | False | | |
|
  • [ToStringD - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 591.29 ns | 629.76 ns | 1.07 | 0.00 | False | | |
|
  • [Subtract - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 41.63 ns | 58.23 ns | 1.40 | 0.04 | False | | |
|
  • [ModPow - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 1.37 ms | 1.66 ms | 1.21 | 0.03 | False | | |
|
  • [Multiply - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 435.86 ns | 461.11 ns | 1.06 | 0.01 | False | | |
|
  • [Parse - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 77.38 ns | 89.96 ns | 1.16 | 0.04 | False | | |

![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.Numerics.Tests.Perf_BigInteger*'
```

### System.Numerics.Tests.Perf_BigInteger.Parse(numberString: 123)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.ToStringX(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.ToStringX(numberString: 123)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.ToStringD(numberString: 123)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.ToStringX(numberString: -2147483648)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 1024,1024,64 bits)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.Add(arguments: 1024,1024 bits)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.ToStringD(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.Subtract(arguments: 1024,1024 bits)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 16384,16384,64 bits)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 1024,512 bits)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Numerics.Tests.Perf_BigInteger.Parse(numberString: -2147483648)

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