Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Perf] Windows/x64: Regressions in System.Collections on 8/2/2024 1:16:56 PM #106027

Closed
performanceautofiler bot opened this issue Aug 6, 2024 · 6 comments · Fixed by #106108
Closed

[Perf] Windows/x64: Regressions in System.Collections on 8/2/2024 1:16:56 PM #106027

performanceautofiler bot opened this issue Aug 6, 2024 · 6 comments · Fixed by #106108

Comments

@performanceautofiler
Copy link

performanceautofiler bot commented Aug 6, 2024

Run Information

Name Value
Architecture x64
OS Windows 10.0.22621
Queue TigerWindows
Baseline 30b34e6d7b475c1de91623d3589723181a260523
Compare 3e572e9d09026f386a57302bfd624abd7b660fb5
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Collections.CtorFromCollection<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
25.07 μs 26.45 μs 1.05 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollection&lt;Int32&gt;*'

System.Collections.CtorFromCollection<Int32>.ConcurrentDictionary(Size: 512)

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 Windows 10.0.22621
Queue TigerWindows
Baseline 30b34e6d7b475c1de91623d3589723181a260523
Compare 3e572e9d09026f386a57302bfd624abd7b660fb5
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Collections.TryAddGiventSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
4.32 μs 6.30 μs 1.46 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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryAddGiventSize&lt;Int32&gt;*'

System.Collections.TryAddGiventSize<Int32>.Dictionary(Count: 512)

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 Windows 10.0.22621
Queue TigerWindows
Baseline 30b34e6d7b475c1de91623d3589723181a260523
Compare 3e572e9d09026f386a57302bfd624abd7b660fb5
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Collections.TryGetValueFalse<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
2.80 μs 6.96 μs 2.48 0.08 True

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
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.TryGetValueFalse&lt;Int32, Int32&gt;*'

System.Collections.TryGetValueFalse<Int32, Int32>.Dictionary(Size: 512)

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

@LoopedBard3
Copy link
Member

LoopedBard3 commented Aug 6, 2024

Related Concurrent dictionary regressions: dotnet/perf-autofiling-issues#39502, dotnet/perf-autofiling-issues#39463

Mono related regressions: dotnet/perf-autofiling-issues#39525

@LoopedBard3 LoopedBard3 changed the title [Perf] Windows/x64: 18 Regressions on 8/2/2024 1:16:56 PM [Perf] Windows/x64: Regressions in System.Collections on 8/2/2024 1:16:56 PM Aug 6, 2024
@LoopedBard3 LoopedBard3 transferred this issue from dotnet/perf-autofiling-issues Aug 6, 2024
@LoopedBard3
Copy link
Member

LoopedBard3 commented Aug 6, 2024

Likely caused by: #105380
Comparison range: e60db07...fd99ad5

Copy link
Contributor

Tagging subscribers to this area: @dotnet/area-system-collections
See info in area-owners.md if you want to be subscribed.

@stephentoub stephentoub self-assigned this Aug 6, 2024
@stephentoub
Copy link
Member

Likely caused by: #105380

It's possible my change impacted ConcurrentDictionary, but it wouldn't have had any effect on Dictionary, which according to the above graph is showing a huge regression.

@jeffhandley jeffhandley added this to the 9.0.0 milestone Aug 6, 2024
@jeffhandley jeffhandley removed the untriaged New issue has not been triaged by the area owner label Aug 6, 2024
@dotnet-policy-service dotnet-policy-service bot added the in-pr There is an active PR which will close this issue when it is merged label Aug 8, 2024
@stephentoub
Copy link
Member

Re-opening to help track that the regressions are indeed fixed. The Dictionary one is very likely something else.

@stephentoub stephentoub reopened this Aug 8, 2024
@stephentoub stephentoub removed their assignment Aug 8, 2024
@stephentoub stephentoub removed the in-pr There is an active PR which will close this issue when it is merged label Aug 8, 2024
@eiriktsarpalis
Copy link
Member

I see the numbers have recovered in all three benchmarks, so we can close this.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants