Re: Recovering from repository corruption
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- Jun 10, 2008, 23:00 UTC
- Message-ID
- <alpine.LFD.1.10.0806101554490.3101@woody.linux-foundation.org>
- In-Reply-To
- <alpine.LFD.1.10.0806101518590.3101@woody.linux-foundation.org>
On Tue, 10 Jun 2008, Linus Torvalds wrote:
Show 6 quoted lines
> > It's going to make big "git add" calls *much* slower, so I'm not very > happy about it (especially since we don't actually care that deeply about > the files really being there until much later, so doing something > asynchronous would be perfectly acceptable), but for you this is > definitely worth-while.
For me, on the whole kernel, on a pretty good system:
- before:
[torvalds@woody test-it-out]$ time git add .
real 0m7.986s user 0m6.404s sys 0m1.456s
- after:
[torvalds@woody test-it-out]$ time ~/git/git-add .
real 0m52.693s user 0m7.416s sys 0m2.516s
so it's definitely quite noticeable in that simplistic form.
A more interesting patch would use aio_fsync(), and then just wait for them at the end with aio_return(). Not that I love AIO, but this is definitely a case where it would make sense to do (of course, systems without AIO support would then fall back to regular fsync()).
I will have to think about this.
Linus