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

[mono][interp] Speed up invoke path #79029

Closed
BrzVlad opened this issue Nov 30, 2022 · 2 comments
Closed

[mono][interp] Speed up invoke path #79029

BrzVlad opened this issue Nov 30, 2022 · 2 comments

Comments

@BrzVlad
Copy link
Member

BrzVlad commented Nov 30, 2022

Following #72717, a good chunk of the invoke path was move to the managed size. On interpreter, this code is being executed slower. This drop in performance appears to only affect invoking of methods that receive byrefs.

Most of the time spent is in certain type related internal methods, like : RuntimeType:IsValueTypeImpl, RuntimeType:TryByRefFastPath, RuntimeTypeHandle:GetElementType, RuntimeType:IsSubclassOf which also make use of a lot of QCallTypeHandle:.ctor. Consider intrinsifying some of these methods or tweaking the managed path to better suit mono interpreter.

@BrzVlad BrzVlad added this to the Future milestone Nov 30, 2022
@BrzVlad BrzVlad self-assigned this Nov 30, 2022
@ghost
Copy link

ghost commented Nov 30, 2022

Tagging subscribers to this area: @BrzVlad
See info in area-owners.md if you want to be subscribed.

Issue Details

Following #72717, a good chunk of the invoke path was move to the managed size. On interpreter, this code is being executed slower. This drop in performance appears to only affect invoking of methods that receive byrefs.

Most of the time spent is in certain type related internal methods, like : RuntimeType:IsValueTypeImpl, RuntimeType:TryByRefFastPath, RuntimeTypeHandle:GetElementType, RuntimeType:IsSubclassOf which also make use of a lot of QCallTypeHandle:.ctor. Consider intrinsifying some of these methods or tweaking the managed path to better suit mono interpreter.

Author: BrzVlad
Assignees: BrzVlad
Labels:

area-Codegen-Interpreter-mono

Milestone: Future

@BrzVlad BrzVlad changed the title [mono][interpreter] Speed up invoke path [mono][interp] Speed up invoke path Nov 30, 2022
@SamMonoRT SamMonoRT modified the milestones: Future, 8.0.0 Dec 2, 2022
@BrzVlad
Copy link
Member Author

BrzVlad commented Jul 13, 2023

Largely addressed by #88369. More improvements on this would be rather dubious and hacks. Let's consider this fixed for now.

@BrzVlad BrzVlad closed this as completed Jul 13, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Aug 14, 2023
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

2 participants