-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Log properties initial value #4192
Conversation
@KirillOsenkov Please review and see if this answers your needs |
This change is on the hot perf path, it would be good to see perf numbers comparing the following scenarios with master msbuild:
|
As well as more work on the hot path, it also means more logging on the hot path, even if a logger is not attached or would ignore the messages (due to verbosity). There are other places in the codebase where the engine "cheats", this is the pattern: if (!_loggingService.OnlyLogCriticalEvents)
{
... log informational things
} I would wrap as above, and still measure after that as this is such a critical hot path where most of the time this work is not needed. |
@danmosemsft I added the checks you suggested. |
@aelij thanks, it's not my repo, but I think they will need solid perf measurements as mentioned above. This path is perf critical not just to MSBuild but also Visual Studio project load, etc. This will have an impact as it's adding more code the question is how much. |
@benvillalobos Let's do a private build of this branch and kick a VS insertion to run RPS on to double check for perf regressions. @AndyGerlicher I think this would be a good one for our teams to review together given your heavy usage of evaluation. |
Team triage: let's do that. Please tag @aelij on the PR. Since that PR is behind a feature flag, it alleviates the performance concerns we have with this approach and doing it all the time. Thanks @aelij. |
Will do. Thx. |
Fixes #2711