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: asynchronous gc #1950
Conversation
Could you point out which command to run exactly? |
There's definitely an fd leak while running the tests:
almost half of the mapping and prefix files are not closed correctly and a couple of prefix/dict files too. |
I have tried so far with Some (very preliminary) benchmarks :
and
|
I've pushed a commit to fix the fd leak - now all the tests seem to pass 🎉 |
So the benchmarks show that the GC is IO expensive and so makes things go slower if used too often. That's not very surprising but that should be clearly documented (as it is somehow counter-intuitive); would be also nice to provide a good default. |
So I got an interesting trace with
|
This is an interesting bug. There is one exception, in the mapping.iter, reads are grouped together. In this example, the parent of the commit is read from the suffix file:
but then, these are all grouped into one read from |
Codecov Report
@@ Coverage Diff @@
## main #1950 +/- ##
==========================================
- Coverage 64.30% 63.95% -0.35%
==========================================
Files 128 130 +2
Lines 15132 15479 +347
==========================================
+ Hits 9731 9900 +169
- Misses 5401 5579 +178
📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more |
Rebased - the tests pass locally and the following command seems also ok with various variations of
|
I've also opened #1960 to keep track of the CHANGELOG placeholder. |
Co-authored-by: Nicolas Goguey <ngoguey42@free.fr> Co-authored-by: Ioana Cristescu <ioana@tarides.com> Co-authored-by: Tom Ridge <tom.j.ridge@googlemail.com>
Lets use a dedicated branch instead of #1944.
Blocking tasks:
Not blocking: