Re: git and larger trees, not so fast?
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- Aug 9, 2007, 21:41 UTC
- Message-ID
- <alpine.LFD.0.999.0708091426050.25146@woody.linux-foundation.org>
- In-Reply-To
- <20070809165218.9b76ebf7.seanlkml@sympatico.ca>
On Thu, 9 Aug 2007, Sean wrote:
Show 13 quoted lines
> > This makes things _much_ better, however the final commit in the > test script still shows a lot of user time: > > ## time git commit -q -m 'buurrrrn' -a > real 0m2.299s > user 0m1.065s > sys 0m1.317s > > ## time git commit -q -m 'hurry' 50/500 > real 0m16.944s > user 0m15.466s > sys 0m1.133s
In the case where we do a partial commit (never mind that it's all the changes: when you give a path limiter, it's "partial"), "git commit" one goes through another path, and triggers the same issue with
git read-tree --index-output=tmp-index -i -m HEAD
which has the same O(n**2) issue (except it uses "unpack_trees()" rather than "read_tree()", so Junio's patch does nothing for it).
So "builtin-read-tree.c" (or rather unpack-trees.c) would need the same kind of logic.
Linus