Skip to content

Conversation

@kg
Copy link
Member

@kg kg commented Jun 6, 2023

Based on instrumentation 0.2% of all mono_gc_wbarrier_value_copy_internal calls in a run of System.Runtime.Tests are from MINT_STELEM_VT. I suspect adding this NOREF version of the opcode will improve performance for data structures that store structs in arrays but don't contain any references - for example List<ValueTuple<...>> or Dictionary<int, int> - but it's hard to measure locally.

@ghost
Copy link

ghost commented Jun 6, 2023

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

Issue Details

Based on instrumentation 0.2% of all mono_gc_wbarrier_value_copy_internal calls in a run of System.Runtime.Tests are from MINT_STELEM_VT. I suspect adding this NOREF version of the opcode will improve performance for data structures that store structs in arrays but don't contain any references - for example List<ValueTuple<...>> or Dictionary<int, int> - but it's hard to measure locally.

Author: kg
Assignees: -
Labels:

area-Codegen-Interpreter-mono

Milestone: -

@ghost ghost assigned kg Jun 6, 2023
@vargaz
Copy link
Contributor

vargaz commented Jun 6, 2023

Looks ok to me.

@lewing lewing closed this Jul 7, 2023
@lewing lewing reopened this Jul 7, 2023
@kg kg merged commit e05b3e7 into dotnet:main Jul 8, 2023
kg added a commit to kg/runtime that referenced this pull request Jul 12, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Aug 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants