Slow stat() on noacl mounts due to x permission check
Earnie Boyd
earnie@users.sourceforge.net
Fri Feb 3 18:54:00 GMT 2012
On Fri, Feb 3, 2012 at 1:20 PM, Christian Franke
<Christian.Franke@t-online.de> wrote:
> Cygwin stat() may be much slower on noacl mounts than on acl mounts.This is
> because on noacl mounts the x-permission bit is guessed by checking for
> "#!", ":" or "MZ" in the first bytes of the file. AFAIKS this is done for
> all files except *.exe, *.lnk and *.com.
>
> A real world testcase with 20120201 snapshot on a (C++/Java development)
> tree with ~52000 files in ~12000 dirs:
>
> . noacl acl
> find -size ... (after boot) 518s 51s
> find -size ... (disk cached) 13s 8s
> find -name ... (disk cached) 3s 3s (does not need stat())
>
> Is it really needed to do the header check for each file?
>
Yes.
> Would it break important use cases if the check is only done for files with
> typical script file extensions?
> For example: no extension, .sh, .csh, .pl, .py, ...
>
Yes it would break my use of this feature.
> Another more flexible solution would be a mount option to configure this.
> (xguess=0: no check; 1: some extensions only; 2: all files)
>
The default should be the existing behavior.
--
Earnie
-- https://sites.google.com/site/earnieboyd
--
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
More information about the Cygwin
mailing list