Skip to content

[Perf] Linux/x64: 24 Regressions on 1/20/2024 12:29:16 AM #97400

Closed

Description

@performanceautofiler

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

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

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

Baseline
Compare

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

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.Collections.CtorFromCollectionNonGeneric&lt;Int32&gt;*'
Details

Payloads

Baseline
Compare

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

Activity

  1. self-assigned this
    on Jan 23, 2024
  2. added
    area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
    and removed
    untriagedNew issue has not been triaged by the area owner
    on Jan 23, 2024
  3. EgorBo commented on Jan 23, 2024

    @EgorBo
    Member
  4. added this to the 9.0.0 milestone on Jan 23, 2024
  5. stephentoub commented on Mar 8, 2024

    @stephentoub
    Member

    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.

  6. added
    Priority:2Work that is important, but not critical for the release
    on May 22, 2024
  7. EgorBo commented on Jul 18, 2024

    @EgorBo
    Member

    According to ADX data, SelectToList regressed 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

  8. locked and limited conversation to collaborators on Aug 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

PGOPriority:2Work that is important, but not critical for the releasearch-x64area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIos-linuxLinux OS (any supported distro)runtime-coreclrspecific to the CoreCLR runtime

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions