dotnet / dotnet/runtime

[Perf] Linux/arm64: 18 Regressions on 3/17/2026 7:02:24 AM +00:00

Open
#125,781 10 comments 0 reactions 1 assignee Claimed by @EgorBo View on GitHub
arch-arm64 area-System.Text.Encoding os-linux runtime-coreclr tenet-performance tenet-performance-benchmarks
Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Description

### Run Information

Name | Value
-- | --
Architecture | arm64
OS | ubuntu 22.04
Queue | AmpereUbuntu
Baseline | [12d9fada56ba2d4459226fe724099f69ab8a554f](https://github.com/dotnet/runtime/commit/12d9fada56ba2d4459226fe724099f69ab8a554f)
Compare | [e1b5a1df9a1467acbd29e4212bb5045ff32add07](https://github.com/dotnet/runtime/commit/e1b5a1df9a1467acbd29e4212bb5045ff32add07)
Diff | [Diff](https://github.com/dotnet/runtime/compare/12d9fada56ba2d4459226fe724099f69ab8a554f...e1b5a1df9a1467acbd29e4212bb5045ff32add07)
Configs | CompilationMode:tiered, RunKind:micro

### Regressions in System.Text.Encodings.Web.Tests.Perf_Encoders

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

  • [EncodeUtf16 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 139.94 ns | 154.25 ns | 1.10 | 0.01 | False | | |
|
  • [EncodeUtf8 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 82.97 ns | 130.26 ns | 1.57 | 0.00 | False | | |
|
  • [EncodeUtf8 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 23.51 ns | 33.32 ns | 1.42 | 0.04 | False | | |
|
  • [EncodeUtf8 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 78.87 ns | 85.49 ns | 1.08 | 0.00 | False | | |
|
  • [EncodeUtf16 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 82.69 ns | 114.34 ns | 1.38 | 0.01 | False | | |
|
  • [EncodeUtf8 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 126.04 ns | 177.13 ns | 1.41 | 0.00 | False | | |
|
  • [EncodeUtf8 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 119.46 ns | 165.56 ns | 1.39 | 0.01 | False | | |
|
  • [EncodeUtf8 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 66.05 ns | 71.91 ns | 1.09 | 0.00 | False | | |
|
  • [EncodeUtf16 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 179.74 ns | 210.34 ns | 1.17 | 0.00 | False | | |
|
  • [EncodeUtf16 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 44.08 ns | 57.04 ns | 1.29 | 0.01 | False | | |
|
  • [EncodeUtf8 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 84.35 ns | 130.08 ns | 1.54 | 0.01 | False | | |
|
  • [EncodeUtf8 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 134.63 ns | 183.95 ns | 1.37 | 0.00 | False | | |
|
  • [EncodeUtf8 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 104.25 ns | 150.50 ns | 1.44 | 0.00 | False | | |
|
  • [EncodeUtf8 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 22.05 ns | 32.91 ns | 1.49 | 0.01 | False | | |
|
  • [EncodeUtf8 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 50.17 ns | 56.76 ns | 1.13 | 0.01 | False | | |
|
  • [EncodeUtf8 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 70.06 ns | 81.95 ns | 1.17 | 0.00 | False | | |
|
  • [EncodeUtf16 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 186.55 ns | 248.43 ns | 1.33 | 0.00 | False | | |
|
  • [EncodeUtf16 - Duration of single invocation]()
  • ๐Ÿ“ - [Benchmark Source]()
  • [ADX - Test Multi Config Graph]()
| 90.99 ns | 154.65 ns | 1.70 | 0.00 | False | | |

![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.Text.Encodings.Web.Tests.Perf_Encoders*'
```

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,hello "there",512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,no escaping required,512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,no <escaping /> required,16)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,&lorem ipsum=dolor sit amet,16)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,&Hello+<World>!,16)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,๏ฟฝ2020,512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,&Hello+<World>!,512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,&Hello+<World>!,16)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,&Hello+<World>!,512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,hello "there",16)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,no <escaping /> required,512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,&lorem ipsum=dolor sit amet,512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,hello "there",512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,no escaping required,16)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,hello "there",16)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,๏ฟฝ2020,16)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,&lorem ipsum=dolor sit amet,512)

#### ETL Files

#### Histogram

#### JIT Disasms

### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,&lorem ipsum=dolor sit amet,16)

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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.