From: Mark Levedahl Date: Thu, 27 Jun 2013 02:37:06 GMT Subject: Re: [RFC/PATCH 0/1] cygwin: Remove the Win32 l/stat() functions Message-ID: <51CBA552.80309@gmail.com> In-Reply-To: <51CAF863.4020803@web.de> On 06/26/2013 10:19 AM, Torsten Bögershausen wrote: > On 2013-06-25 23.18, Junio C Hamano wrote: >> Johannes Sixt 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