This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin-developers at cygwin dot com
- Date: Wed, 29 Sep 2010 10:32:01 +0200
- Subject: Re: Cygwin Filesystem Performance degradation 1.7.5 vs 1.7.7, and methods for improving performance
- References: <4C84B9EF.9030109@gmail.com> <20100906132409.GB14327@calimero.vinschen.de> <4C8E0EED.4000606@gmail.com> <20100914093859.GB15121@calimero.vinschen.de> <4C999916.7080609@gmail.com> <20100922134412.GA4817@ednor.casa.cgf.cx> <4CA20212.7050207@etr-usa.com> <20100928151032.GA30911@trixie.casa.cgf.cx> <4CA2298F.6030707@etr-usa.com> <AANLkTikjWJj+cjZTfjyTkCjTuHbcpt7AWf2KsEkAkYhT@mail.gmail.com>
- Reply-to: cygwin-developers at cygwin dot com
On Sep 29 05:50, Andy Koppe wrote:
> On 28 September 2010 18:44, Warren Young wrote:
> > On 9/28/2010 9:10 AM, Christopher Faylor wrote:
> >>
> >> It isn't extremely surprising that Linux access speed for a filesystem
> >> in a simulated environment, which presumably does not go through
> >> multiple layers of DLLs, would be faster than Cygwin.
> >
> > I think it more likely that the HGFS driver doesn't try to preserve full
> > POSIX semantics. ÂThere's plenty of precedent: vfat, iso9660... ÂOne could
> > probably verify this faster by examining the driver's source code
> > (http://open-vm-tools.sourceforge.net/) than by tracing syscalls.
> >
> > If that's the explanation, it points at a possible path forward.
> >
> > On Linux, these secondary filesystems aren't expected to provide full POSIX
> > semantics, simply because they are secondary. ÂNo one cries very hard that
> > you can't make symlinks on a FAT-formatted USB stick.
> >
> > Yet, there's probably no technical reason you couldn't get a POSIX-like
> > system to run on a crippled filesystem. ÂIt's probably even been done lots
> > of times before in the embedded world. ÂSome of the PC Unix systems from the
> > 80s and early 90s were pretty screwy in this way, too. ÂScrewy doesn't
> > prevent you from doing useful work, though.
> >
> > Would it not be useful to have a mode in Cygwin that purposely skips any
> > POSIX semantics that it can't get for free by making the POSIX syscalls
> > nothing more than thin wrappers around the nearest equivalent Win32 API? ÂIf
> > you put it in this mode and it breaks, you get to keep both pieces. ÂThere
> > are those who would happily accept the speed increase for loss of some
> > functionality. ÂI wouldn't, but some would. ÂI'd bet a lot of the 3PPs are
> > in that group, since they know their target environment very well.
>
> Doesn't the 'noacl' mount option provide that already?
Partially, there are also the ihash and the exec/notexec options. A lot
has been already discussed on the cygwin-patches list, see, for instance
http://cygwin.com/ml/cygwin-patches/2010-q3/msg00035.html
http://cygwin.com/ml/cygwin-patches/2010-q3/msg00036.html
and
http://cygwin.com/ml/cygwin-patches/2010-q3/msg00071.html
http://cygwin.com/ml/cygwin-patches/2010-q3/msg00073.html
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat