Re: [PATCH] Avoid running lstat(2) on the same cache entry.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Sun, 20 Jan 2008, Steffen Prohaska wrote:

> On Jan 20, 2008, at 2:48 AM, Johannes Schindelin wrote:
> 
> > 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.662s
> 
> Best time after:
> 
>    $ time git commit >/dev/null
>    real    0m1.196s
> 
> The 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.237s
> 
> Best time after:
> 
>    $ time git commit >/dev/null
>    real    0m0.463s
>    user    0m0.273s
>    sys     0m0.186s
> 
> Interestingly, the relative improvements are even smaller on Mac
> OS X.

Still, nothing to spit at.

FWIW I have made two patches which should be probably folded into Linus' 
patch; I will post them as a reply.

Ciao,
Dscho

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux