-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Loading NuGet/JSON.NET binaries adds ~130ms to a build #1483
Comments
This target runs in design-time build, and we want the entire design-time build to be under 100 ms - for this project just this one target is 141 ms. |
Looks like we're spending 35% of CPU time just JITing:
|
All this just to read a text file and convert it to XML. |
Okay, from what I can figure out - there's ~130 ms of just "overhead", loading binaries, JIT'ing, running initialization as soon as we go to read the lock file. The overhead of actually reading the lock file is much less, but still high in some cases ~40 ms (src\Test\DeployCoreClrTestRuntime\DeployCoreClrTestRuntime.csproj for example). We should figure out how we stop paying for that overhead on every build, node reuse will help - but we really need to consider if we want to pay for this 130 ms on first launch. I'm going to leave this bug as the overhead and file a separate bug for the parsing itself. |
All these binaries (excluding MSBuild ones which I'm tracking via: dotnet/msbuild#2419) are loading via LoadForm - so even if NGEN or even if they are already NGEN'd we're not going to pick up the images. |
Here's another trace from running a normal design-time build, I've crossed out the ones that are owned by MSBuild:
|
Except that Design time build is still calling targets that do, but that is tracked by #2020 |
…0200528.12 (dotnet#1483) Microsoft.AspNetCore.Analyzers , Microsoft.AspNetCore.Components.Analyzers , Microsoft.AspNetCore.Mvc.Api.Analyzers , Microsoft.AspNetCore.Mvc.Analyzers From Version 5.0.0-preview.6.20278.1 -> To Version 5.0.0-preview.6.20278.12 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
The text was updated successfully, but these errors were encountered: