-
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] Regressions in System.Text.Perf_Utf8Encoding #68405
Comments
Tagging subscribers to this area: @JulieLeeMSFT Issue DetailsRun Information
Regressions in System.Collections.ContainsFalse<Int32>
Reprogit clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.ContainsFalse<Int32>*' PayloadsHistogramSystem.Collections.ContainsFalse<Int32>.ImmutableSortedSet(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository
Regressions in System.Text.Perf_Utf8Encoding
Reprogit clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Text.Perf_Utf8Encoding*' PayloadsHistogramSystem.Text.Perf_Utf8Encoding.GetByteCount(Input: Chinese)
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.IndexerSetReverse<Int32>
Reprogit clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net6.0 --filter 'System.Collections.IndexerSetReverse<Int32>*' PayloadsHistogramSystem.Collections.IndexerSetReverse<Int32>.IList(Size: 512)
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository
|
Utf8 Encoding: None of our PGO training scenarios reach these code paths and so they aren't well optimized. |
Related windows arm64 regressions dotnet/perf-autofiling-issues#4730 |
@EgorBo if you are going to add non EN US PGO coverage, I would hope we'd see improvements here. |
looks like #68055 |
Looking at the charts linked above, it looks like this regression was fixed around August 5th. Does anyone know what fixed the problem, and did that fix make it into RC2? The rc2 vs 6.0 perf report indicates that the regression is still present to some extent. System.Text.Perf_Utf8Encoding.GetByteCount(Input: Cyrillic)
System.Text.Perf_Utf8Encoding.GetByteCount(Input: Chinese)
|
Suspect it might have been this change: #73973 where we updated the PGO training scenarios to cover other locales and added arm64 coverage. Hard to tell exactly when because we had big outage right around then. |
As of the 7 vs 6 report, it seems like this regression might still be present on Mac Arm64 configs. Could the fix have missed the 7.0 cutoff? System.Text.Perf_Utf8Encoding.GetByteCount(Input: Chinese)
System.Text.Perf_Utf8Encoding.GetByteCount(Input: Cyrillic)
|
It's possible that PGO is simply not applied for any OSX (and the fix is in the PGO) |
Closing this since we've now enabled dynamic PGO (and spot checking, perf for these cases looks good). |
Run Information
Regressions in System.Collections.ContainsFalse<Int32>
Test Report
Repro
Payloads
Baseline
Compare
Histogram
System.Collections.ContainsFalse<Int32>.ImmutableSortedSet(Size: 512)
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Regressions in System.Text.Perf_Utf8Encoding
Test Report
Repro
Payloads
Baseline
Compare
Histogram
System.Text.Perf_Utf8Encoding.GetByteCount(Input: Chinese)
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.IndexerSetReverse<Int32>
Test Report
Repro
Payloads
Baseline
Compare
Histogram
System.Collections.IndexerSetReverse<Int32>.IList(Size: 512)
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
category:performance
theme:benchmarks
The text was updated successfully, but these errors were encountered: