-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
System.Net.WebProxy Bypass regex list optimization #73803
Conversation
Tagging subscribers to this area: @dotnet/ncl Issue DetailsAdded change tracking to BypassArrayList to avoid reconstructing the bypass regex list at every call of IsBypassed Fix #73703
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than the comments, the change generally LGTM. Thanks for working on this.
Added change tracking to BypassArrayList to avoid reconstructing the bypass regex list at every call of IsBypassed Fix dotnet#73703
DirtyTrackingArrayList => ChangeTrackingArrayList. IsDirty => IsChanged Inner class moved to end Ditched weird bool CheckDirty() with side effect in favor of void ResetIsChanged()
adfdb73
to
c635195
Compare
As we have a deadline of tomorrow, I've addressed the open feedback and pushed a new commit. Thanks. |
Ok. I should have added all the possible mutation tests cases, tough : that's obviously a plus. I don't like reflection in Unit Tests either, but I would have kept that test : with the current unit tests, the initial code would pass. I thought it was a net positive (despite the use of reflexion), to have unit tests that failed for the original code. Anyway. |
No problem.
There are literally thousands of places things are cached around the core libraries, and except where there's a visible behavioral impact, we don't have unit tests for it. If you'd like to submit a PR to add a perf test for this to dotnet/performance, that'd be welcome.
Nope, thanks. |
Thank you, @onehourlate. |
Added change tracking to BypassArrayList to avoid reconstructing the bypass regex list at every call of IsBypassed
Fix #73703