This is the mail archive of the
cygwin
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.2000907@t-online.de>
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