Serious performance problems (malloc related?)

Linda W cygwin@tlinx.org
Thu Jun 2 09:25:00 GMT 2005


One area that I've noticed slowness is in using the 'find' command
to search for old "tmp" files or to rebuild the locate database.

In tracing the Win32 file operations, find seems to perform multiple
file open operations for each file processed.  One way to speed up
operations in this area might be to keep a "cache" of the last "N"
file handles.  I suspect it's just the Windows path lookup mechanism
being slow to reopen things.  But if the cygwin.dll could cache even
the past 5 entries, it might speed things up significantly.  If it
is opened each time to read different information, it might be much
cheaper to collect all the information at one time and cache it in
an internal "inode cache" that could expire in a second or so. 

If it would "slow" down other programs, it could have some smarts in
the system calls to look for calling patterns from programs like find
that need a couple or more openings to fully "process a file", that all
happen within a few milliseconds of each other.

BTW -- in case anyone is interested -- you can use the free Unix Services
for windows available for WinXP.  However, amusingling enough -- their
execution times are *slower* than cygwin's...  Of course MS might have 
deliberately used non-optimized methods for their services to convince
people to recode for the Win32 interface (and thus benefit by increased
Win32 lockin).

linda


Christopher Faylor wrote:

>Yep.  This is pretty much what I expected.  Now we'll see a stream of
>people commenting on slowness and speculating on the cause without
>spending any time to actually figure out what the cause might be.
>  
>
>Think of what a hero you'll be if you figure out a way to improve
>cygwin's "slowness".
>
>  
>

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



More information about the Cygwin mailing list