-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[TieredCompilation] Virtual calls may be slower with tiering #11007
Labels
Milestone
Comments
A PerfView profile with the
The unnamed functions are the extra precodes, they don't show up in the caller stacks of virtual functions because the precode jumps to the target. Names should be added for the precodes, this is covered by https://github.com/dotnet/coreclr/issues/18428. |
Fixed by dotnet/coreclr#21292 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
With tiering, there is an extra precode that calls would have to go through in some cases. If the processor does not compensate for the extra indirection, virtual calls are slower (normal calls are too, but that overhead is more easily compensated for with inlining).
See https://github.com/dotnet/coreclr/issues/18361 for an example where virtual call overhead is significant in the measurement.
Considerations:
The text was updated successfully, but these errors were encountered: