-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[mono] Switch generic instance cache back to GHashTable; improve ginst hash function #113287
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
Total AOT compilation of the dedup assembly (build time) on macOS-arm64 host of MAUI template app in debug config:
There are improvements in #113274 as well. |
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.
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
/backport to release/9.0-staging |
Started backporting to release/9.0-staging: https://github.com/dotnet/runtime/actions/runs/13763019043 |
…ashTable; improve ginst hash function (#113316) Backport of #113287 This change will revert to the hashtable container used for the generic instance cache in .NET 8.0 to address a performance regression introduced by changing to a different container in 9. Also improves the hash function used for the cache (the existing one was suboptimal.) Co-authored-by: Katelyn Gadd <[email protected]>
This PR reverts the generic instance cache to use GHashTable and replaces the hash function for generic instances with a more robust hash function. The latter is mostly important for simdhash, but it should improve performance for GHashTable too.
This may address the increase in AOT compile times.