Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance

Derry Shribman derry@hola.org
Sun Oct 3 22:01:00 GMT 2010


Hi,

 > BZZZT.  Thanks for playing.
 > 	find cvs-1.12.13 -type f | xargs grep 'st_ino'
 > shows 35 different uses of the st_ino member of struct stat.

grep st_nlink: zero results.

 > 	find make-3.81 -type f | xargs grep 'st_ino' |wc
 > shows 11 different uses of the st_ino member of struct stat.

grep st_nlink: zero results.

st_ino information IS retrieved.

See Yoni's post of the cygtest.c application to test the stat() performance: It 
calls NtQueryDirectoryFile() with FILE_ID_BOTH_DIR_INFO, at st_ino is in 
fdi.FileId field.

Derry

On 10/3/2010 9:50 PM, Charles Wilson wrote:
> Derry Shribman wrote:
>> ***cvs***, gnumake, grep and many many others do not need ino/nlink, since
>> ino/nlink is not related to the programs logic, and if any library
>> they use IS using ino/nlink info, then its a very strange library, if
>> not even a bug.
>
> BZZZT.  Thanks for playing.
> 	find cvs-1.12.13 -type f | xargs grep 'st_ino'
> shows 35 different uses of the st_ino member of struct stat.
>
> 	find make-3.81 -type f | xargs grep 'st_ino' |wc
> shows 11 different uses of the st_ino member of struct stat.
>
>
> But even if you weren't wrong on THAT...many libraries DO in fact open
> files on their own, check for # of links, check if multiple file(names)
> actually correspond to the same file using dev and ino (think: glib/gtk,
> libneon, wxwindows, or other portability libraries).
>
> --
> Chuck
>
>



More information about the Cygwin-developers mailing list