Skip to content
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

Experiment with Roslyn optimization for ROS<T> in assembly data section #60327

Merged

Conversation

stephentoub
Copy link
Member

Rolls it out to most static readonly T[] fields initialized to only const values. This will tank perf until Roslyn optimizes these.

@jaredpar, you were asking about where we'd use this in dotnet/runtime.

@stephentoub stephentoub requested a review from a team October 13, 2021 02:30
@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.

Copy link
Member

@davidwrighton davidwrighton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me... If you get a chance, the Roslyn and Runtime branches now have the optimized pattern implemented, and it would be lovely to see if we can see improvements or not. Also, I'd love to see this checked in to the hackathon branch if everything still works well.

Rolls it out to most static readonly T[] fields initialized to only const values.  This will tank perf until Roslyn optimizes these.
@stephentoub
Copy link
Member Author

Nice thing about an API these get lowered to is it's easy to find all the places it's being used:
image

@stephentoub stephentoub merged commit 9ce5ad3 into dotnet:feature/lowlevelhackathon Oct 18, 2021
@stephentoub stephentoub deleted the hackspanblit branch October 18, 2021 00:46
@ghost ghost locked as resolved and limited conversation to collaborators Nov 17, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants