- Notifications
You must be signed in to change notification settings - Fork5.2k
Remove OrderedDictionary usage from ReflectTypeDescriptionProvider#47473
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
This is showing up a bit on ASP.NET startup paths, and we can be more efficient in how we handle allocations and work.
ghost commentedJan 26, 2021
Tagging subscribers to this area:@safern Issue DetailsThis is showing up a bit on ASP.NET startup paths, and we can be more efficient (and simpler) in how we handle allocations and work. As a microbenchmark, I tweaked TypeDescriptor.GetAttributes in both the original and PR bits to not cache attributes, so that the benchmark would simulate the impact on the first call per type. Then used it on types with no attributes, one attribute, and five identical attributes:
So, not a huge win, but the code gets simpler as well, and we remove one of the remaining dependencies on OrderedDictionary.
|
safern commentedJan 30, 2021
Oops, it seems like there was no CI ran on this PR (I have no idea why), just noticed now by looking at the merge summary. Let's keep an eye on the rolling build to see if something breaks. @MattGal@markwilkie who can we have take a look at why this happened? |
MattGal commentedFeb 1, 2021
Only Azure Devops can, and reading through their documents they would like you to report stuff like this via their public-facing developer community portal athttps://developercommunity.visualstudio.com . I filedhttps://developercommunity.visualstudio.com/content/problem/1326549/pr-checks-never-started-on-github-pr.html on your behalf here. |
safern commentedFeb 1, 2021
Thank you@MattGal, appreciate it 😄 |
This is showing up a bit on ASP.NET startup paths, and we can be more efficient (and simpler) in how we handle allocations and work.
As a microbenchmark, I tweaked TypeDescriptor.GetAttributes in both the original and PR bits to not cache attributes, so that the benchmark would simulate the impact on the first call per type. Then used it on types with no attributes, one attribute, and five identical attributes:
So, not a huge win, but the code gets simpler as well, and we remove one of the remaining dependencies on OrderedDictionary.