This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cygwin Performance and stat()


On Thu, Jun 03, 2010 at 10:35:55AM -0700, Christopher Wingert wrote:
>Using strace I was able to look at some of the functions that are
>enumerated by debugging calls.
>
>The trace below is done by ls.exe for each file (approximately 95k files @
>88 mSecs/file), approximately 40 mSecs are spent in lstat64() and another
>47 mSecs are spent in getacl().

You're undoubtedly misinterpreting the timestamps in strace.  They don't
indicate the amount of time spent in anything.  They are just timestamps.

>So I would say a combination of duplicated functionality between the two
>function calls and making the Virus Scanner run is causing some of the
>performance issues in Cygwin.

Caching file information has obvious problems.  And proper cache handling
is not exactly simple.

>So if you account for the Virus Scan overhead (that the cygwin version
>seems to trip, but the DOS version does not) and the cache, you could
>probably get stat performance down to around 10 mSecs/file.  DOS is still
>around 178 uSecs/file, still 6x better.
>
>I have no idea why these methods are used to get file information (ie
>open() vs. Win32 GetFileAttributes()).  Can anyone point to the current
>maintainer of the fhandler* files?

You may be missing how this project is run.  The current maintainers of
everything read this mailing list.  You don't need to contact anyone
personally.  Actually, this is typical of many open source projects.

cgf

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]