This is the mail archive of the cygwin@cygwin.com 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: A Simple Real World Benchmark for cygwin


cgf> or investigate the code and offer ways to speed it up.

Here's a potential speedup for non-NTFS symlinks:

The check_shortcut function in shortcut.c calls CoInitialize/CoUninitialize
for *every* .LNK it needs to check on non EA filesystems.

I ran a small test on my computer, calling check_shortcut 1000 times.
When I moved the calls to CoInitialze/CoUnitialize outside the
check_shortcut function, the function throughput increased from 59 calls/sec
to 960 calls/sec.

As it turns out, CoInit...CoUninit costs up to 20 msecs on my system.

So my suggestion is that the CoInit../CoUnit... calls be moved to another
spot, to be called once per thread.


Dan.

PS. This patch made no difference what-so-ever on the timing results of the
cygbench configure on my NTFS disks; then again, it may help FATxx/Samba/NFS
people.



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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