-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Start time regressions on windows across many TE benchmarks #74315
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
dotnet/aspnetcore commit range: dotnet/aspnetcore@14a3e98...87ef6f0 |
The only thing I can blame is #74279 - it bumps R2R format version from 7.1 to 8.0 (and MINIMUM_READYTORUN_MAJOR_VERSION from 6 to 8) I also fetched output dirs for both data points and checked corelib via r2rdump - they have 7.1 and 8.0 version accordingly. |
Yes, e.g. Kestrel ( From my understanding, UPD: or, actually, crossgen version looks to be controlled by this version - https://github.com/dotnet/installer/blob/04eccb846748563880c407b91e009e13ed8ce495/eng/Versions.props#L80 |
It actually feels a bit weird if my guesses are correct - it means when you download a daily SDK - all binaries except System.Private.CoreLib.dll are prejitted with some older crossgen, not the one you'd expect - it might explain some unexplainable regressions/improvements we observe time to time during dotnet/performance triage meetings - e.g. because newer R2R images bring updated static PGO data |
R2R version doesnt increment frequently. Agree that we are in a state where all previous crossgen2 built R2R binaries are going to be ignored. We need to ensure that asp.net builds with latest cg2 for RC1 to avoid these regressions. |
surprising this doesnt show up on Linux? Perhaps the runtime version is not updating yet for those runs? |
Also I changed the SDK feed and it's taking 8.0.* now, but the regression doesn't seem related. Might be better to check we get the same numbers with a 7.0 SDK ( |
do we keep tracking 7 till GA? There are changes still being made there which would impact perf. |
We still take runtime and aspnet from 7 branches, just the SDK is updated so we are ready to run with net8.0 TFM when it's available (and runtime+aspnet). |
For the record, Linux runs have been also showing noticeable slowdowns. |
Windows startup seems to have normalized, but Linux hasn't yet. Is there a delay in when the sdk is updated for the two platforms on TE? |
The benchmarks take the same SDK version for both. Sometimes the charts might be delayed. But I checked the version numbers in the tooltips and they are up to date. |
Issue seems to be fixed. The discrepancy is due to some machines using the dotnet8 feeds for builds, which contain some rc1 builds that are older than the latest ones. If you check the runtime version on these benchmarks you'll see it's not going up because of that. The charts that are fixed have up-to-date runtime versions with the fix. I am pushing a change to crank so that it will look on the other feeds for more recent versions. |
closing this since its an infra issue. |
I noticed a lot of start-time and time-to-first-request regressions on Windows in various benchmarks, e.g.:
JsonMvc:
PlatformPlaintext:
PlaintextMvc:
What is even more interesting that DynamicPGO is now as fast as FullPGO:
it suggests that less methods are R2R'd (or R2R is broken)
cc @sebastienros
The text was updated successfully, but these errors were encountered: