-
Notifications
You must be signed in to change notification settings - Fork 5.2k
U/petrhouska/improve-default-case-of-options-cache #117429
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
U/petrhouska/improve-default-case-of-options-cache #117429
Conversation
05b94ab to
d523140
Compare
d523140 to
d4c1aa9
Compare
4e9500d to
f4f3849
Compare
|
|
Tagging subscribers to this area: @dotnet/area-extensions-options |
f4f3849 to
9f800da
Compare
|
Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it. |
|
Could it be reopened @huoyaoyuan ? I'd still be fully up for merging it :) |
|
The bar for .NET 10 is now quite high—similar to the servicing bar. Let’s wait until the main branch opens for the next release, and then we can reopen and merge. This should happen in a few weeks from now. Thanks! |
|
I’ve skimmed through your PR, and it seems to add some complexity without offering much benefit. The performance provided measurement is at the micro level, which I don’t believe will have a significant impact in the full stack — especially since heavier operations are handled through options. A few nanoseconds won’t be noticeable in that context. I am closing this PR but feel free to reply if you have any more feedback. Thanks! |
Fixes Issue #109446
Description
Special cases most common (IMHO by super vast majority) case of IOtionsMonitor for default options name, i.e. "". Most importantly changes .CurrentValue access from concurentdictionary read to a field access.
Customer Impact
Small perf.
Regression
No.
Testing
I'll add tests if it's deamed feasible and worthy of being merged.
Risk
Substentially increases complexity of originally super simple class. The complecity is still very limited and IMHO perfectly managable but it went from super duper simple to somewhat simple.
Package authoring no longer needed in .NET 9
IMPORTANT: Starting with .NET 9, you no longer need to edit a NuGet package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older versions.