Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH v2] add test to demonstrate that shallow recursive clones fail

From: Jeff King <hidden>
Date: 2016-06-15 23:07:17

On Wed, Nov 18, 2015 at 03:40:02PM -0800, Terry Parker wrote:
quoted
+Terry, who did optimize the JGit implementation for bitmaps,
as we also had a "lots of refs" hoarder repo, which underperformed
before.
The performance issue with the "hoarder" repo was that the bitmap
commit selection algorithm in JGit was selecting too many commits and
the hoarder repo caused OOMs.

JGit's selection algorithm walks each branch and makes sure commits
are selected every 100-200 commits for "recent" history and every
5000-5100 commits for more distant history. IIUC cgit sorts all commits
by date and does a similar selection. Since it doesn't attempt to get
even coverage on each branch, the selected commits may have
large gaps for a particular branch.
Thanks for the data point. I agree that cgit seems to have the opposite
problem: selecting fewer commits, which gives worse performance at read
time, but no OOM at write time. :)

I suspect there's some low-hanging fruit in tweaking cgit's
implementation, where we might be able to do a better job of hitting
near the tips of tags without having to drastically increase the number
of bitmapped commits. But I haven't looked closely.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help