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

Measure the impact of prejitting/tiering on casting helpers. #1994

Closed
VSadov opened this issue Jan 22, 2020 · 1 comment
Closed

Measure the impact of prejitting/tiering on casting helpers. #1994

VSadov opened this issue Jan 22, 2020 · 1 comment
Assignees
Milestone

Comments

@VSadov
Copy link
Member

VSadov commented Jan 22, 2020

In local microbenchmarks it was observed that prejitting casting helpers has some impact on throughput.
We should investigate further whether the effect is real and not just some noise, and consider if we can improve anything.

@VSadov VSadov self-assigned this Jan 22, 2020
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Jan 22, 2020
@jeffschwMSFT jeffschwMSFT added area-crossgen2-coreclr and removed area-VM-coreclr untriaged New issue has not been triaged by the area owner labels Jan 23, 2020
@jeffschwMSFT jeffschwMSFT added this to the 5.0 milestone Jan 23, 2020
@nattress nattress modified the milestones: 5.0.0, 6.0.0 Jul 7, 2020
@VSadov
Copy link
Member Author

VSadov commented Aug 6, 2020

The regression in #37803 captures the worst cases scenario.
It is the simplest of the casts (casting a class with one implemented interface) and we have observed a statistical penalty up to 29%.

The reason why it is noticeable is because operation is itself very fast and that we measure a loop that performs 100000 casts, so we can see impact of tiering indirection.

In absolute terms the impact is very small and unlikely to become an issue in real world scenarios. It is possible to remove the indirection cost by making these helpers jitted, but it seems to be reasonable trade for the start up latency.

@VSadov VSadov closed this as completed Aug 6, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 11, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants