irmin-pack: replace inode's Map by a list of pairs#2042
irmin-pack: replace inode's Map by a list of pairs#2042samoht wants to merge 1 commit intomirage:mainfrom
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 |
metanivek
left a comment
There was a problem hiding this comment.
Left a small comment but LGTM. Lets see how a bigger benchmark performs but the preliminary benchmark is definitely promising.
| aux (len - 1); | ||
| () | ||
|
|
||
| module Small_map = struct |
There was a problem hiding this comment.
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