Skip to content

Seal IObjectReference.TryAs<T> method#1454

Merged
Sergio0694 merged 3 commits intostaging/AOTfrom
user/sergiopedri/remove-objref-gvm
Jan 25, 2024
Merged

Seal IObjectReference.TryAs<T> method#1454
Sergio0694 merged 3 commits intostaging/AOTfrom
user/sergiopedri/remove-objref-gvm

Conversation

@Sergio0694
Copy link
Member

This PR seals IObjectReference.TryAs<T>, which was bloating the binary size due to combinatorial generics:

image

Should also be faster, given that the GVM dispatch isn't exactly the best.

@Sergio0694 Sergio0694 added performance Related to performance work trimming AOT labels Jan 19, 2024
@Sergio0694
Copy link
Member Author

Saves 186 KB on .NET 9! 🎉

image

@Sergio0694 Sergio0694 marked this pull request as ready for review January 19, 2024 19:46
@Sergio0694 Sergio0694 force-pushed the user/sergiopedri/remove-objref-gvm branch from a9bb6cb to f282beb Compare January 23, 2024 19:56
@Sergio0694 Sergio0694 force-pushed the user/sergiopedri/remove-objref-gvm branch from f282beb to e374b40 Compare January 24, 2024 22:31
@Sergio0694
Copy link
Member Author

Actually saves 253 KB now with the latest changes too! 🎉

image

@Sergio0694 Sergio0694 merged commit 1bfd692 into staging/AOT Jan 25, 2024
@Sergio0694 Sergio0694 deleted the user/sergiopedri/remove-objref-gvm branch January 25, 2024 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AOT performance Related to performance work trimming

2 participants