Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Merged
stephentoub merged 1 commit intodotnet:masterfromstephentoub:ordereddict
Jan 30, 2021

Conversation

@stephentoub
Copy link
Member

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:

MethodToolchainMeanRatioAllocated
None\master\corerun.exe217.9 ns1.00272 B
None\pr\corerun.exe195.6 ns0.89112 B
One\master\corerun.exe491.9 ns1.00512 B
One\pr\corerun.exe279.9 ns0.80360 B
Five\master\corerun.exe396.6 ns1.00640 B
Five\pr\corerun.exe375.5 ns0.95472 B

So, not a huge win, but the code gets simpler as well, and we remove one of the remaining dependencies on OrderedDictionary.

This is showing up a bit on ASP.NET startup paths, and we can be more efficient in how we handle allocations and work.
@stephentoubstephentoub added this to the6.0.0 milestoneJan 26, 2021
@ghost
Copy link

Tagging subscribers to this area:@safern
See info in area-owners.md if you want to be subscribed.

Issue Details

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:

MethodToolchainMeanRatioAllocated
None\master\corerun.exe217.9 ns1.00272 B
None\pr\corerun.exe195.6 ns0.89112 B
One\master\corerun.exe491.9 ns1.00512 B
One\pr\corerun.exe279.9 ns0.80360 B
Five\master\corerun.exe396.6 ns1.00640 B
Five\pr\corerun.exe375.5 ns0.95472 B

So, not a huge win, but the code gets simpler as well, and we remove one of the remaining dependencies on OrderedDictionary.

Author:stephentoub
Assignees:-
Labels:

area-System.ComponentModel,tenet-performance

Milestone:6.0.0

@stephentoubstephentoub merged commit2e9d612 intodotnet:masterJan 30, 2021
@stephentoubstephentoub deleted the ordereddict branchJanuary 30, 2021 01:06
@safern
Copy link
Member

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
Copy link
Member

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?

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
Copy link
Member

Thank you@MattGal, appreciate it 😄

@ghostghost locked asresolvedand limited conversation to collaboratorsMar 3, 2021
Sign up for freeto subscribe to this conversation on GitHub. Already have an account?Sign in.

Reviewers

@safernsafernsafern approved these changes

Assignees

No one assigned

Labels

Projects

None yet

Milestone

6.0.0

Development

Successfully merging this pull request may close these issues.

3 participants

@stephentoub@safern@MattGal

[8]ページ先頭

©2009-2025 Movatter.jp