[Top][All Lists]

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

Re: FWD: Make CVS 7X slower on Win32 NTFS than beta 4

From: J. David Bryan
Subject: Re: FWD: Make CVS 7X slower on Win32 NTFS than beta 4
Date: Fri, 10 Feb 2006 11:55:54 -0500


On 10 Feb 2006 at 12:35, Eli Zaretskii wrote:

> Thanks for catching this bug and for the patch.

You're welcome.

> However, your patch punishes the FAT filesystems unnecessarily by
> calling `stat' every time a directory on such a filesystem is examined.

Indeed, you're correct.  I see from the file comment that stat-ing a FAT 
directory doesn't help here.

> Please try the following alternative patch.  Does it do The Right
> Thing for you?

It does, yes, for NTFS.  I don't have any FAT directories on which to test, 
though I did try flipping the sense of the FAT test in "dir.c" and 
confirmed that make appeared to run OK on my makefile, albeit much slower.

However, I have a question about the logic.  I'll preface my remarks by 
noting that this is the first time I've looked at the make source, and I'm 
looking very locally and so may not understand the broader ramifications.

Presuming "dir->dirstream == 0", the beta4 version of this code returns 0 
if the file system is NTFS and the directory time hasn't changed, as the 
else-clause just below the "#endif" is taken.  With your patch, the same 
scenario falls into the while loop and so calls "readdir" with
"dir->dirstream == 0".  Is that correct?  If not, then perhaps the "if 
(rehash)" just above needs an "else return 0;".

By the way, thanks for your work on -jN.  It works well on the dual-core 
machine here and was my primary motivator for trying out the CVS version.

                                      -- Dave

reply via email to

[Prev in Thread] Current Thread [Next in Thread]