This is the mail archive of the
mailing list for the Cygwin project.
Re: Slow stat() on noacl mounts due to x permission check
- From: Earnie Boyd <earnie at users dot sourceforge dot net>
- To: cygwin at cygwin dot com
- Date: Fri, 3 Feb 2012 13:54:22 -0500
- Subject: Re: Slow stat() on noacl mounts due to x permission check
- References: <4F2C2589.firstname.lastname@example.org>
On Fri, Feb 3, 2012 at 1:20 PM, Christian Franke
> 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?
> 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.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple