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

Cleanup unnecessary thread affinity in the Visual Studio logging codepath #3295

Merged
merged 4 commits into from
Mar 16, 2020

Conversation

nkolev92
Copy link
Member

Bug

Fixes: NuGet/Home#9288
Regression: Yes/No

  • Last working version:
  • How are we preventing it in future:

Fix

Details:
Clean up unnecessary thread affinity in the Visual Studio logging code path.
By async-ifying everything, we can remove the need to have so many affinitized methods and with that spent less time on the UI thread and only when absolutely necessary.
It'd be difficult to get a measurable improvement out of these changes, and they often times won't cause a UI delay but general sluggishness.

This change will especially improve thing in the low verbosity cases where we frequently might have ended up on the UI thread with no real business to do there.

Testing/Validation

Tests Added: No
Reason for not adding tests: Thread affinity changes, I expect the end to end tests and manual tests to capture issues.
Validation: Manual + waiting for automation.

Draft
Leaving this as draft until I do some more complete manual tests and see all the tests passing.

@nkolev92 nkolev92 merged commit 106bb59 into dev Mar 16, 2020
@nkolev92 nkolev92 deleted the dev-nkolev92-cleanupRestoreOperationLogger branch March 16, 2020 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Perf: RestoreOperationLogger has unnecessary thread affinity
2 participants