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

Big crossgen2 perf regression in Debug mode #79561

Open
agocke opened this issue Dec 12, 2022 · 6 comments
Open

Big crossgen2 perf regression in Debug mode #79561

agocke opened this issue Dec 12, 2022 · 6 comments

Comments

@agocke
Copy link
Member

agocke commented Dec 12, 2022

Sometime after 47158cc there was a change that caused crossgen2 to take 5x-25x as long to crossgen itself when in Debug mode.

Report

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 0
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Dec 12, 2022
@trylek
Copy link
Member

trylek commented Dec 12, 2022

My initial guess is that it's most likely something in debug JIT, I'm not aware of any recent major changes to Crossgen2 proper.

@trylek
Copy link
Member

trylek commented Dec 12, 2022

Actually I should double-check when @cshung merged in the hot-cold splitting change, that could theoretically change something in Crossgen2 even though I believe it's off by default, but I think that was checked in about 1-2 months ago, not just three weeks back.

@ViktorHofer
Copy link
Member

Noticed that yesterday as well when I built the repository in Debug mode: build.cmd. About two hours were spent just in the Microsoft.NETCore.App.Runtime step (sfxproj) which I believe invokes crossgen2.

@trylek trylek self-assigned this Jan 3, 2023
@agocke
Copy link
Member Author

agocke commented Jan 24, 2023

@trylek Any progress on this? If you need help I can try to bisect -- and then whatever the change is, I'll revert it until you can investigate.

@agocke agocke added this to the 8.0.0 milestone Jan 24, 2023
@agocke agocke added blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' and removed untriaged New issue has not been triaged by the area owner labels Jan 24, 2023
@trylek
Copy link
Member

trylek commented Jan 24, 2023

@agocke - sorry, no progress yet; as it's debug only, I didn't treat it as super high priority. Right now I need to fix a new Crossgen2 bug around function pointers, if you have some automation to make bisection easy without taking up too much of your time, identifying the offending change would be great and it should be pretty obvious where the problem is and what is the appropriate course of action.

agocke added a commit to agocke/runtime that referenced this issue Jan 24, 2023
agocke added a commit that referenced this issue Jan 25, 2023
@trylek trylek mentioned this issue May 3, 2023
46 tasks
@trylek trylek modified the milestones: 8.0.0, 9.0.0 Aug 1, 2023
@agocke agocke removed the blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' label Oct 16, 2023
@steveisok
Copy link
Member

This has survived the bump dance a few times, but I think this is worthwhile for us to look into in 10.

@steveisok steveisok modified the milestones: 9.0.0, 10.0.0 Aug 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants