Re: [RFC/PATCH 0/1] cygwin: Remove the Win32 l/stat() functions
- From
Mark Levedahl <mlevedahl@gmail.com>
- Date
- Jun 27, 2013, 02:37 UTC
- Message-ID
- <51CBA552.80309@gmail.com>
- In-Reply-To
- <51CAF863.4020803@web.de>
On 06/26/2013 10:19 AM, Torsten Bögershausen wrote:
Show 29 quoted lines
> On 2013-06-25 23.18, Junio C Hamano wrote: >> Johannes Sixt <j6t@kdbg.org> writes: >> >>> Some context: This is about a patch by Ramsay that removes the >>> "schizophrenic lstat" hack for Cygwin. Junio, can you please queue that >>> patch in pu? >> Sure. Thanks. > First of all, > thanks for the work. > > Here some "benchmark" results, > (The test run of the test suite did the same amout of time). > > But: > git status -uno in real life takes double the time, > git 1.8.3 compared against "pu with the vanilla l/stat" > > 1 second -> 2 seconds on linux kernel > 0.2 seconds -> 0.4 seconds on git.git > > Do we have any known problems with the current implementation ? > Does speed matter ? > > One vote to keep the special cygwin functions. > (And have a look how to improve the core.filemode) > > /Torsten > >
There have been threads on the cygwin mailing lists for at least a decade looking to speed up cygwin's posix stat / lstat (and fork). If improvement were merely difficult, it would have been done long ago. As git cares about things like execute bits, file / repository permissions, and soft links, whatever stat / lstat git uses needs to fully support those under cygwin, either by using what cygwin provides or providing a complete replacement. Note my other reply - with Ramsay's patch I can complete the test suite (except for t0008.sh that has a known hang) while without it I find the test suite randomly (unrepeatable) hangs in many tests. So, this stat/lstat replacement is at least implicated in current troubles.
Mark