Adjust ngen priorities for VS - #12559
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR adjusts the native image generation (ngen) priorities for MSBuild assemblies in the Visual Studio setup to optimize VS startup performance. The change downgrades most assemblies from priority 1 to priority 2, keeping only the highest JIT-time assemblies at priority 1.
- Downgrades 13 MSBuild-related assemblies from ngen priority 1 to priority 2
- Maintains priority 1 for MSBuild.exe and the most critical assemblies (System.Text.Json.dll, System.Collections.Immutable.dll)
- Optimizes VS startup time by focusing priority 1 ngen on the 30 assemblies with highest JIT overhead
|
Hello @@AlexDelepine, I noticed that you’re changing an .swr file or any file under src/Package/MSBuild.VSSetup.. Please make sure to validate this change by an experimental VS insertion. This is accomplished by pushing to an exp/* branch, which requires write permissions to this repo. |
rainersigwald
left a comment
There was a problem hiding this comment.
LGTM but a couple of questions.
|
Just a heads up - the insertion will have perf regressions related to ngen priority 2, these can be ignored as my team is expecting these regressions and we will not file bugs on this. |
Updated Ngen Priorities for VS - we're updating ngen's pri 1 list to only include the 30 assemblies with highest JIT time during VS startup. We currently do not ngen pri 1's separately, so changing assemblies to pri 2 will not affect when these get ngen'ed relative to how things are right now.