Repository navigation
Closed
Labels
PGOPriority:2Work that is important, but not critical for the releaseWork that is important, but not critical for the releasearch-x64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIos-linuxLinux OS (any supported distro)Linux OS (any supported distro)runtime-coreclrspecific to the CoreCLR runtimespecific to the CoreCLR runtime
Milestone
Description
Run Information
| Name | Value |
|---|---|
| Architecture | x64 |
| OS | ubuntu 22.04 |
| Queue | TigerUbuntu |
| Baseline | 8c73f0f7129aae439e7da095c7b3f25e7209bb76 |
| Compare | ff93f2dc3619d28b87404d1f86439f4b1d6e8d02 |
| 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 |
|---|---|---|---|---|---|---|---|---|
| 9.74 ns | 21.00 ns | 2.16 | 0.07 | True | ||||
| 320.06 ns | 357.76 ns | 1.12 | 0.09 | False | ||||
| 2.49 μs | 2.91 μs | 1.17 | 0.06 | False | ||||
| 216.87 ns | 308.33 ns | 1.42 | 0.06 | False | ||||
| 174.91 ns | 192.78 ns | 1.10 | 0.01 | True | ||||
| 362.09 ns | 439.05 ns | 1.21 | 0.09 | False | ||||
| 215.45 ns | 355.09 ns | 1.65 | 0.26 | False | ||||
| 155.86 ns | 175.49 ns | 1.13 | 0.01 | False | ||||
| 165.90 ns | 182.21 ns | 1.10 | 0.05 | False | ||||
| 146.87 ns | 159.55 ns | 1.09 | 0.06 | False | ||||
| 60.19 ns | 67.53 ns | 1.12 | 0.02 | False | ||||
| 94.97 ns | 121.86 ns | 1.28 | 0.01 | True | ||||
| 213.86 ns | 257.43 ns | 1.20 | 0.30 | False | ||||
| 299.30 ns | 355.04 ns | 1.19 | 0.31 | False | ||||
| 2.34 μs | 2.61 μs | 1.11 | 0.09 | False | ||||
| 298.54 ns | 338.43 ns | 1.13 | 0.14 | False | ||||
| 213.94 ns | 286.19 ns | 1.34 | 0.06 | False | ||||
| 2.49 μs | 2.73 μs | 1.10 | 0.06 | False | ||||
| 279.76 ns | 327.88 ns | 1.17 | 0.16 | False | ||||
| 188.85 ns | 204.77 ns | 1.08 | 0.14 | False | ||||
| 196.74 ns | 247.96 ns | 1.26 | 0.18 | False | ||||
| 35.24 ns | 37.58 ns | 1.07 | 0.02 | False | ||||
| 2.33 μs | 2.62 μs | 1.12 | 0.06 | False |
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*'Details
Payloads
System.Linq.Tests.Perf_Enumerable.EmptyTakeSelectToArray
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereSelect(input: List)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.AppendPrepend(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereSelect(input: Array)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: Array)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereSelect(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereSingleOrDefault_LastElementMatches(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: Array)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereFirst_LastElementMatches(input: Array)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.Select(input: Array)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.ElementAt(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.SelectToList(input: Range)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereLast_LastElementMatches(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereSingle_LastElementMatches(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.OrderByDescending(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.Skip_One(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereFirst_LastElementMatches(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.Append(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.SkipHalfTakeHalf(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input: List)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: List)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.ToArray(input: ICollection)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.Prepend(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
| Name | Value |
|---|---|
| Architecture | x64 |
| OS | ubuntu 22.04 |
| Queue | TigerUbuntu |
| Baseline | 8c73f0f7129aae439e7da095c7b3f25e7209bb76 |
| Compare | ff93f2dc3619d28b87404d1f86439f4b1d6e8d02 |
| Diff | Diff |
| Configs | CompilationMode:tiered, RunKind:micro |
Regressions in System.Collections.CtorFromCollectionNonGeneric<Int32>
| Benchmark | Baseline | Test | Test/Base | Test Quality | Edge Detector | Baseline IR | Compare IR | IR Ratio |
|---|---|---|---|---|---|---|---|---|
| 48.89 μs | 66.39 μs | 1.36 | 0.02 | False |
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.Collections.CtorFromCollectionNonGeneric<Int32>*'Details
Payloads
System.Collections.CtorFromCollectionNonGeneric<Int32>.SortedList(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Metadata
Metadata
Assignees
Labels
PGOPriority:2Work that is important, but not critical for the releaseWork that is important, but not critical for the releasearch-x64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIos-linuxLinux OS (any supported distro)Linux OS (any supported distro)runtime-coreclrspecific to the CoreCLR runtimespecific to the CoreCLR runtime
























Activity
EgorBo commentedon Jan 23, 2024
#97075
stephentoub commentedon Mar 8, 2024
Almost all of these have either recovered or significantly improved with the recent suite of LINQ changes. The only LINQ one I'm still interested in is the SelectToList(input: Range) one, which is still showing a consistent 20% hit.
EgorBo commentedon Jul 18, 2024
According to ADX data,
SelectToListregressed only on just one machine Linux-x64-Intel, no regressions on >10 other queues. I think we can close this unless someone wants to investigate this machine specifically