-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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] Linux/arm64: Regressions in System.Collections.TryAddGiventSize #96500
Comments
Could be #95340 |
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsRun Information
Regressions in System.Collections.TryAddGiventSize<Int32>
ReproGeneral 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.TryAddGiventSize<Int32>*' PayloadsSystem.Collections.TryAddGiventSize<Int32>.Dictionary(Count: 512)ETL FilesHistogramJIT DisasmsDocsProfiling workflow for dotnet/runtime repository
|
I took a look at the disassemblies of this benchmark with the base/diff builds, and I didn't see any differences in codegen on Linux ARM64. I couldn't find any jumps to the next block in Tier0, so I wouldn't expect the optimization touched by #95340 to do anything different for this benchmark. I guess this regression could be caused by lower TP in the JIT, though I'm skeptical of that hypothesis, too. I don't have a Linux ARM64 box to try this on, but when targeting Unix ARM64 on Windows x64 with SPMI and compiling the benchmark method Looking at my changes in #95340, I would expect TP to only improve: For unoptimized methods with jumps that can be removed, we now skip emitting those jumps, which easily pays for the checks in @EgorBo do you know what the "Test Quality" score means, in this case? Is that a measure of its flakiness? Is a larger score better? Thank you! |
This seems to have since resolved itself: Test report. |
Run Information
Regressions in System.Collections.TryAddGiventSize<Int32>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
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
The text was updated successfully, but these errors were encountered: