Skip to content

[NativeAOT] Implement thin locks #75108

Closed

Description

@VSadov

CoreClr is able to use object header bits for locking in trivial cases. That makes typical use of lock fairly cheap. NativeAOT does not have that and lock(obj) is always a "fat lock".

This is likely the reason for regressions in ConcurrentDictionary benchmarks.
(re: #68891)

Activity

  1. ghost added
    untriagedNew issue has not been triaged by the area owner
    on Sep 6, 2022
  2. added this to the Future milestone on Sep 6, 2022
  3. ghost removed
    untriagedNew issue has not been triaged by the area owner
    on Sep 6, 2022
  4. modified the milestones: Future, 8.0.0 on Sep 16, 2022
  5. tomcashman commented on Nov 30, 2022

    @tomcashman

    Where would be a starting point for this? I’d be interested in attempting an implementation to improve concurrency performance on our console ports.

  6. self-assigned this
    on Dec 1, 2022
  7. VSadov commented on Dec 1, 2022

    @VSadov
    MemberAuthor

    @tomcashman this is already in progress, sorry.
    There is already an implementation at a stage where I know it is correct (as in "passing all tests"), but I do not know yet if the perf is acceptable.

  8. tomcashman commented on Dec 1, 2022

    @tomcashman

    No worries I’ll keep an eye out for the PR and we can test performance on consoles 😄

  9. ghost added
    in-prThere is an active PR which will close this issue when it is merged
    on Dec 12, 2022
  10. ghost removed
    in-prThere is an active PR which will close this issue when it is merged
    on Dec 15, 2022
  11. ghost locked as resolved and limited conversation to collaborators on Jan 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