-
Notifications
You must be signed in to change notification settings - Fork 525
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
feat(storage): reduce write lock guard for local_version #3620
Conversation
Codecov Report
@@ Coverage Diff @@
## main #3620 +/- ##
==========================================
- Coverage 74.35% 74.35% -0.01%
==========================================
Files 775 775
Lines 110084 110103 +19
==========================================
+ Hits 81855 81868 +13
- Misses 28229 28235 +6
Flags with carried forward coverage won't be shown. Click here to find out more.
📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unlock_fair
might significantly affect single-thread performance, but I hope it will work anyway 🤣
… read ops in the same time
i am not sure it will significantly benefit for this case, so need more bench test, but disucuss with wallace the change of write_lock_guard is expected |
new_version.set_pinned_version(newly_pinned_version); | ||
{ | ||
let mut guard = self.local_version.write(); | ||
*guard = new_version; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure how is the difference between move one large object
and move one Arc pointer
.
…abs#3620) * feat(storage): reduce write lock guard for local_version * feat(metrics): add metrics for iter_in_process_counts to estimate the read ops in the same time * fix(storage): use rate for metrics iter_in_process_counts Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
as title ,but we always need more bench for this case
Checklist
[ ] I have written necessary docs and comments[ ] I have added necessary unit tests and integration testsRefer to a related PR or issue link (optional)
local_version
to simple replace #3459