Re: [RFC] Packing large repositories
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2016-06-15 22:43:02
On Sat, 31 Mar 2007, Linus Torvalds wrote:
Ok, here's a slightly updated patch that does a few more iterations..
Don't use this. There's something wrong with it, and unlike the first patch, it doesn't even pass all tests. I think it's because I decided to try to use rounding in the newton thing (which got things closer), but I suspect that rounding is broken - I think it can round to "outside" the valid range. I didn't notice that with the eclipse performance testing, probably because when you have enough objects you'll never see it, but with smaller packs, being off-by-one means that you can easily fall off the map ;) So I'd like to re-iterate the note I had in that email:
Not really meant to be applied, but it was interesting to play with this. NOTE! I don't think the math is really strictly correct (ie the scaling inside the loop), but it's "close enough" to not matter, and this really was meant to be an request-for-discussion.
IOW, it's very much a RFD patch. I suspect it is trivial to fix, but I
also suspect that unless somebody else decides that this is interesting,
I'll just leave the patch behind. None of the loads I tested really seemed
to be very sensitive to object lookup performance - the binary search
simply seems ot be "good enough", and usually the costs are in generating
patches ("git blame") or just diffing trees ("git log <pathspec>"), and
the object lookup doesn't seem to be critical enough to worry about.
If somebody can point to a load where we spend a noticeable amount of time
on doing index lookups, that would obviously change my opinion, but in the
meantime, I think this is better considered a case of "we _could_ do
something like this if it's ever an issue.."
Linus