KEMBAR78
PlaceInterfaceMethod is now more optimized by davidwrighton · Pull Request #96703 · dotnet/runtime · GitHub
Skip to content

Conversation

@davidwrighton
Copy link
Member

  • It naturally has an O(NM) algorithm, we reduce it to O(N(Msmaller)), and make the constant factor faster
  • We take a local copy of the declared methods and name hashes, and the scan is now a straight linear scan of 32 bit memory DWORDS, and naturally skips nonpublic and non virtual methods.

- It naturally has an O(N*M) algorithm, we reduce it to O(N*(Msmaller)), and make the constant factor faster
- We take a local copy of the declared methods and name hashes, and the scan is now a straight linear scan of 32 bit memory DWORDS, and naturally skips nonpublic and non virtual methods.
Copy link
Member

@jkotas jkotas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@davidwrighton davidwrighton merged commit 904c439 into dotnet:main Jan 10, 2024
@davidwrighton davidwrighton deleted the FasterPlaceInterfaceMethods branch January 10, 2024 18:27
tmds pushed a commit to tmds/runtime that referenced this pull request Jan 23, 2024
* PlaceInterfaceMethod is now more optimized
- It naturally has an O(N*M) algorithm, we reduce it to O(N*(Msmaller)), and make the constant factor faster
- We take a local copy of the declared methods and name hashes, and the scan is now a straight linear scan of 32 bit memory DWORDS, and naturally skips nonpublic and non virtual methods.

---------

Co-authored-by: Aaron Robinson <arobins@microsoft.com>
@github-actions github-actions bot locked and limited conversation to collaborators Feb 10, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants