Adjust ngen priority of assemblies for perf gains (#37485)
* Adjust ngen priority of assemblies for perf gains These changes support an effort to improve VS performance after an update by tuning the assemblies ngen'd during setup. After this change, the following assemblies should be ngen'd at priority 1: common7\ide\commonextensions\microsoft\managedlanguages\vbcsharp\languageservices\microsoft.codeanalysis.csharp.dll common7\ide\commonextensions\microsoft\managedlanguages\vbcsharp\languageservices\microsoft.codeanalysis.dll common7\ide\commonextensions\microsoft\managedlanguages\vbcsharp\languageservices\microsoft.codeanalysis.features.dll common7\ide\commonextensions\microsoft\managedlanguages\vbcsharp\languageservices\microsoft.codeanalysis.remote.servicehub.dll common7\ide\commonextensions\microsoft\managedlanguages\vbcsharp\languageservices\microsoft.codeanalysis.workspaces.dll common7\ide\commonextensions\microsoft\managedlanguages\vbcsharp\languageservices\microsoft.visualstudio.languageservices.dll * Adjust ngen priority of assemblies for perf gains These changes support an effort to improve VS performance after an update by tuning the assemblies ngen'd during setup. After this change, the following assemblies should be ngen'd at priority 1: msbuild\current\bin\roslyn\microsoft.build.tasks.codeanalysis.dll msbuild\current\bin\roslyn\microsoft.codeanalysis.csharp.dll msbuild\current\bin\roslyn\microsoft.codeanalysis.dll msbuild\current\bin\roslyn\vbcscompiler.exe * Undoing ngen priority changes in wrong file. * Adjust ngen priority of assemblies for perf gains These changes support an effort to improve VS performance after an update by tuning the assemblies ngen'd during setup. After this change, the following assemblies should be ngen'd at priority 1: msbuild\current\bin\roslyn\microsoft.build.tasks.codeanalysis.dll msbuild\current\bin\roslyn\microsoft.codeanalysis.csharp.dll msbuild\current\bin\roslyn\microsoft.codeanalysis.dll msbuild\current\bin\roslyn\vbcscompiler.exe * Set ngen priority to 1 for two System assemblies After this change, the following assemblies should be ngen'd at priority 1: msbuild\current\bin\roslyn\system.collections.immutable.dll msbuild\current\bin\roslyn\system.reflection.metadata.dll * Update DesktopCompilerArtifacts.targets * Stop ngen'ing vbc.exe and csc.exe as pri1 The feedback we've gotten about build slow-down after VS update focused on IDE build and not command line build. We're working on a change in VS to start ngen'ing pri1 assemblies synchronously during Setup, and so we want to restrict that only to assemblies for which analysis shows a significant perf impact to the IDE start, open solution, and build solution scenarios. * Set ngen priority to 2 for csc.exe and vbc.exe I was intending to set these to pri2 with the previous change, but instead removed the prioritization altogether, which would leave it at the default (3). * Set ngen priority to 2 for csi.exe Per discussion with Roslyn team, this exe should have negligible jit impact on performance.
Showing
想要评论请 注册 或 登录