You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Specifically interesting is dotnet/coreclr#9230 which is about devirtualizing calls when the runtimetype at the callsite can be determined exactly (newobj) or if the runtimetype is a sealed subtype / the called method is sealed.
The compiler currently outputs FSharpFunc / FSharpTypeFunc (among others) classes without sealing them while I know of no reason it could not seal those.
This would bring F# function invocation performance up quite a notch (as a non virtual call they'll subsequently become inlining targets as well) and has widespread positive performance impact I presume.
vasily-kirichenko, cata, gsomix, ForNeVeR, razzmatazz and 1 more