-
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.Globalization.Tetsts.StringSearch #50736
Comments
Tagging subscribers to this area: @tarekgh, @safern Issue DetailsRun Information
Regressions in System.Globalization.Tests.StringSearch
Reprogit clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Globalization.Tests.StringSearch*' PayloadsHistogramSystem.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, None, False))
System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (, IgnoreCase, False))
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, IgnoreNonSpace, False))
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, IgnoreNonSpace, False))
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (, None, False))
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, None, False))
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, None, False))
System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, IgnoreCase, False))
DocsProfiling workflow for dotnet/runtime repository
|
I have quickly scanned all commits between the baseline and the regression:
The only one looks related is 184a5b1. Is it expected to get some regression with this change? |
No, that should have zero impact. |
Is it possible there were updates to the machines in this timeframe, e.g. Windows Update patches that may have been applied? If you run the two versions of the repo again on the same machine, does it still manifest as a repeatable regression? |
Interesting, I am not seeing any other commit can be related at all.
This regression looks on Linux only. but I am not sure if these Linux machines get updated somehow.
@DrewScoggins is this something you can try? CC @adamsitnik |
Yes, I can run these on the same machine. I will do that today and report back the numbers. |
So I ran these and did see the regression. I ran it for the other ones as well, but I am not posting them here because as you can see from the image I pasted below this regression went away with this change, #50633, from Andy. So I suspect this had something to do with the application of PGO data. Baseline
Compare
|
CC @AndyAyersMS to confirm this may be related PGO. @DrewScoggins thanks for the info. Is this means we are currently not having the regression anymore? should we have seen any changes related to PGO that caused the problem and then @AndyAyersMS changes fixed it back? |
Seems likely. PGO data started appearing in FX assemblies on 3/19 with #49793 (first bump in the graphs up top) and that caused some regressions. I don't think we root-caused the second bump on 3/23 (IIRC there was no obvious commit). The jit wasn't properly handling the PGO data in some cases; that's what lead to some of those 3/19 regressions. I partially fixed this in #50633. There is still more to fix. |
@DrewScoggins, were there other issues opened that were likely also the result of this? |
@AndyAyersMS I changed the label to codegen as we got a new issue #54165 which is regression in same test highly likely a codegen issue. |
Ok, thanks. The regressions in the tests above were all resolved over time -- the one for #54165 still persists. So I'm going to close this. |
Run Information
Regressions in System.Globalization.Tests.StringSearch
![graph]
Historical Data in Reporting System
Repro
Payloads
Baseline
Compare
Histogram
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, None, False))
System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (, IgnoreCase, False))
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, IgnoreNonSpace, False))
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, IgnoreNonSpace, False))
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (, None, False))
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, None, False))
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, None, False))
System.Globalization.Tests.StringSearch.IsPrefix_FirstHalf(Options: (en-US, IgnoreCase, False))
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: