-
Notifications
You must be signed in to change notification settings - Fork 5.3k
For perf, remove Invoker pattern for fields #74614
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
Conversation
|
Tagging subscribers to this area: @dotnet/area-system-reflection Issue Detailsnull
|
buyaa-n
left a comment
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.
LGTM
|
/backport to release/7.0 |
|
Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/2937474963 |
|
@steveharter Do we have appropriate coverage in the perf repo (I saw this was customer reported) |
Yes the existing (but new) benchmarks in the perf repo cover this. One item to consider however is that they are currently only based on an |
This reverts commit 13d8d2e.
Fixes #74550 by removing overhead added by the Invoker pattern which is unnecessary until IL emit support is added for fields.
Brings field getter to even with 6.0, and setter about 10% faster.
Suggest porting this to 7.0
For 8.0, this change will eventually be reverted and the corresponding IL emitted for field access.
Before:
After