Re: [PATCH] Avoid running lstat(2) on the same cache entry.
- From
Steffen Prohaska <prohaska@zib.de>
- Date
- Jan 20, 2008, 15:10 UTC
- Message-ID
- <15ECE22B-FCBB-4F12-919B-694E48D48E0D@zib.de>
- In-Reply-To
- <alpine.LSU.1.00.0801200142170.5731@racer.site>
On Jan 20, 2008, at 2:48 AM, Johannes Schindelin wrote:
Show 28 quoted lines
> On Sat, 19 Jan 2008, Linus Torvalds wrote: > > >> Best time before: >> >> [torvalds@woody linux]$ time git commit > /dev/null >> real 0m0.399s >> user 0m0.232s >> sys 0m0.164s >> >> Best time after: >> >> [torvalds@woody linux]$ time git commit > /dev/null >> real 0m0.254s >> user 0m0.140s >> sys 0m0.112s > > Wow. > >> I bet you'll see a much bigger performance improvement from this on >> Windows in particular. > > I bet so, too. Traditionally, filesystem calls are painfully slow on > Windows. > > But I cannot test before Monday, so I would not be mad if somebody > else > could perform some tests on Windows.
Here are timings for Windows XP running in a virtual machine on a Laptop. The work tree contains 7k files. I stripped user and sys times because they are apparently meaningless for MINGW.
Best time before:
$ time git commit >/dev/null
real 0m1.662sBest time after:
$ time git commit >/dev/null
real 0m1.196sThe absolute time improvement is obviously larger, although the relative improvement is slightly smaller than in Linus' example.
And here are the timings for the host system, which is Mac OS X, on the same work tree.
Best time before:
$ time git commit >/dev/null
real 0m0.571s
user 0m0.332s
sys 0m0.237sBest time after:
$ time git commit >/dev/null
real 0m0.463s
user 0m0.273s
sys 0m0.186sInterestingly, the relative improvements are even smaller on Mac OS X.
Steffen