On Wed, Jul 23, 2008 at 05:59:01PM +0000, Linus Torvalds wrote: > In fact, the two top entries in a profile look roughly like: > > 102161 70.2727 libz.so.1.2.3 libz.so.1.2.3 (no symbols) > 7685 5.2862 git git find_pack_entry_one > ... > > ie 70% of the time is just purely unpacking the data, and another 5% is > just finding it. We could perhaps improve on it, but not a whole lot. Well there is an easy way though, that could reduce that: using adaptative compression. I proposed a patch once upon a time, that set the compression strengh to 0 for "small" objects with a configurable cut-off. If you do that, most trees, commits messages and so on aren't compressed, and it will reduce (with IIRC a 5-liner) this time quite dramatically. I could maybe resurect it to see if for people that do the kind of things Ingo does it helps. By setting the cut-off at 1k, I had packs being less than 1% bigger IIRC. I'll try to find it again and run your tests with it to see how much it helps. [ Of course, it doesn't invalidate the rest of your mail about being more clever with git-merge, but still, we could reduce this 70% of zlib time quite a lot with that ] -- ·O· Pierre Habouzit ··O madcoder@xxxxxxxxxx OOO http://www.madism.org
Attachment:
pgpSZAolnpn17.pgp
Description: PGP signature