-
Notifications
You must be signed in to change notification settings - Fork 157
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
irmin-pack: replace inode's Map by a list of pairs #2042
base: main
Are you sure you want to change the base?
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2042 +/- ##
==========================================
- Coverage 64.48% 64.47% -0.02%
==========================================
Files 130 130
Lines 15604 15650 +46
==========================================
+ Hits 10063 10091 +28
- Misses 5541 5559 +18
📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more |
This seems to improve performance pretty significantly compared to
Full comparison: stepmap.log |
Nice! That looks promising! I'm running a |
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.
Left a small comment but LGTM. Lets see how a bigger benchmark performs but the preliminary benchmark is definitely promising.
@@ -146,3 +146,106 @@ let shuffle state arr = | |||
let len = Array.length arr in | |||
aux (len - 1); | |||
() | |||
|
|||
module Small_map = struct |
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.
Might be worth adding a small comment to document the intended usage of this module (eg only intended for "small" key sets and give a sense of what "small" is).
The results of running the
|
The lib-context code might need a similar update to the one I've done for the schema changes (to stop sorting the list of children with a weird and useless ordering) |
A second run (
|
Here is one run of tezos patched with #2014 and this PR. Higher tail latency again, but results mostly seem inconclusive to me.
|
I'm surprised that this PR doesn't have a bigger effect on allocated words:
Maybe Craig's |
New tentative for #1989