Skip to content

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

Closed

Description

@BrzVlad

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.

Activity

  1. added this to the Future milestone on Nov 30, 2022
  2. self-assigned this
    on Nov 30, 2022
  3. changed the title [-][mono][interpreter] Speed up invoke path[/-] [+][mono][interp] Speed up invoke path[/+] on Nov 30, 2022
  4. modified the milestones: Future, 8.0.0 on Dec 2, 2022
  5. BrzVlad commented on Jul 13, 2023

    @BrzVlad
    MemberAuthor

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

  6. ghost locked as resolved and limited conversation to collaborators on Aug 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions