Skip to content

Remove asm versions of Monitor helpers and use portable C++ versions instead #8932

Closed
dotnet/coreclr
#14146

Description

@kouvel

Ideally should be done before or as part of https://github.com/dotnet/coreclr/issues/13980

Activity

  1. self-assigned this
    on Sep 14, 2017
  2. benaadams commented on Sep 14, 2017

    @benaadams
    Member

    Is an interesting difference; Windows has custom asm, and linux goes straight to C++?

  3. kouvel commented on Sep 14, 2017

    @kouvel
    ContributorAuthor

    Yep, I don't expect there will be much change in perf

  4. benaadams commented on Sep 14, 2017

    @benaadams
    Member

    Might make the Windows version worse; and the Linux version is already worse

  5. kouvel commented on Sep 14, 2017

    @kouvel
    ContributorAuthor

    That would be some good data to act on :)

  6. kouvel commented on Sep 23, 2017

    @kouvel
    ContributorAuthor

    In the referenced PR that removes the asm helpers, it looks like the Windows version is worse than the asm mainly because of some register allocation issues, but the difference in perf doesn't seem to be significant. I didn't see much difference between Windows/Linux in the perf of the hottest fast paths (unlocked cases). Another difference is GetThread() is slower on Linux, not much can be done about that at the moment.

  7. transferred this issue fromdotnet/coreclron Jan 31, 2020
  8. added this to the 2.1.0 milestone on Jan 31, 2020
  9. ghost locked as resolved and limited conversation to collaborators on Dec 20, 2020
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