dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.55k stars 4.54k forks source link

[Perf] Linux/x64: 4 Regressions on 12/7/2023 9:32:35 PM #95926

Open performanceautofiler[bot] opened 6 months ago

performanceautofiler[bot] commented 6 months ago

Run Information

Name Value
Architecture x64
OS ubuntu 22.04
Queue TigerUbuntu
Baseline 2b571c505a444522892a272ea7cf6ff485f59da5
Compare 6dc10870f54c0eb8a376cbb21c27f1514ddc46ef
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Linq.Tests.Perf_Enumerable

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
149.12 ns 176.27 ns 1.18 0.01 True
150.11 ns 170.06 ns 1.13 0.00 False
423.79 ns 463.53 ns 1.09 0.04 False

graph graph graph Test Report

Repro

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.Linq.Tests.Perf_Enumerable*'
### Payloads [Baseline]() [Compare]() ### System.Linq.Tests.Perf_Enumerable.Range #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Aggregate(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Reverse(input: IEnumerable) #### 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 TigerUbuntu
Baseline 2b571c505a444522892a272ea7cf6ff485f59da5
Compare 6dc10870f54c0eb8a376cbb21c27f1514ddc46ef
Diff Diff
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
40.20 ns 43.07 ns 1.07 0.04 False

graph Test Report

Repro

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.Text.Encodings.Web.Tests.Perf_Encoders*'
### Payloads [Baseline]() [Compare]() ### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,no escaping required,512) #### 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)
cincuranet commented 6 months ago

Could be https://github.com/dotnet/runtime/pull/95705. cc @AndyAyersMS

ghost commented 6 months ago

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch See info in area-owners.md if you want to be subscribed.

Issue Details
### Run Information Name | Value -- | -- Architecture | x64 OS | ubuntu 22.04 Queue | TigerUbuntu Baseline | [2b571c505a444522892a272ea7cf6ff485f59da5](https://github.com/dotnet/runtime/commit/2b571c505a444522892a272ea7cf6ff485f59da5) Compare | [6dc10870f54c0eb8a376cbb21c27f1514ddc46ef](https://github.com/dotnet/runtime/commit/6dc10870f54c0eb8a376cbb21c27f1514ddc46ef) Diff | [Diff](https://github.com/dotnet/runtime/compare/2b571c505a444522892a272ea7cf6ff485f59da5...6dc10870f54c0eb8a376cbb21c27f1514ddc46ef) Configs | CompilationMode:tiered, RunKind:micro ### Regressions in System.Linq.Tests.Perf_Enumerable Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio -- | -- | -- | -- | -- | -- | -- | -- | -- |
  • [Range - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [📈 - ADX Test Multi Config Graph]()
| 149.12 ns | 176.27 ns | 1.18 | 0.01 | True | | | |
  • [Aggregate - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [📈 - ADX Test Multi Config Graph]()
| 150.11 ns | 170.06 ns | 1.13 | 0.00 | False | | | |
  • [Reverse - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [📈 - ADX Test Multi Config Graph]()
| 423.79 ns | 463.53 ns | 1.09 | 0.04 | False | | | ![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.Linq.Tests.Perf_Enumerable*' ```
### Payloads [Baseline]() [Compare]() ### System.Linq.Tests.Perf_Enumerable.Range #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Aggregate(input: IEnumerable) #### ETL Files #### Histogram #### JIT Disasms ### System.Linq.Tests.Perf_Enumerable.Reverse(input: IEnumerable) #### 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 | TigerUbuntu Baseline | [2b571c505a444522892a272ea7cf6ff485f59da5](https://github.com/dotnet/runtime/commit/2b571c505a444522892a272ea7cf6ff485f59da5) Compare | [6dc10870f54c0eb8a376cbb21c27f1514ddc46ef](https://github.com/dotnet/runtime/commit/6dc10870f54c0eb8a376cbb21c27f1514ddc46ef) Diff | [Diff](https://github.com/dotnet/runtime/compare/2b571c505a444522892a272ea7cf6ff485f59da5...6dc10870f54c0eb8a376cbb21c27f1514ddc46ef) 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 -- | -- | -- | -- | -- | -- | -- | -- | -- |
  • [EncodeUtf8 - Duration of single invocation]()
  • 📝 - [Benchmark Source]()
  • [📈 - ADX Test Multi Config Graph]()
| 40.20 ns | 43.07 ns | 1.07 | 0.04 | False | | | ![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*' ```
### Payloads [Baseline]() [Compare]() ### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,no escaping required,512) #### 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)
Author: performanceautofiler[bot]
Assignees: -
Labels: `os-linux`, `arch-x64`, `area-CodeGen-coreclr`, `untriaged`, `runtime-coreclr`, `needs-area-label`
Milestone: -