All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Torsten Bögershausen" <tboegi@web.de>
To: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Cc: "Mark Levedahl" <mlevedahl@gmail.com>,
	"Torsten Bögershausen" <tboegi@web.de>,
	"Junio C Hamano" <gitster@pobox.com>,
	mhagger@alum.mit.edu, "Jeff King" <peff@peff.net>,
	"Johannes Sixt" <j6t@kdbg.org>,
	"Shawn O. Pearce" <spearce@spearce.org>,
	dpotapov@gmail.com, "GIT Mailing-list" <git@vger.kernel.org>
Subject: Re: [RFC/PATCH v2 1/1] cygwin: Add fast_lstat() and fast_fstat() functions
Date: Thu, 18 Jul 2013 23:49:48 +0200	[thread overview]
Message-ID: <51E862FC.4090607@web.de> (raw)
In-Reply-To: <51E82AE0.9050707@ramsay1.demon.co.uk>

On 2013-07-18 19.50, Ramsay Jones wrote:
> Mark Levedahl wrote:
>> On 07/15/2013 10:06 PM, Torsten Bögershausen wrote:
>>> On 2013-07-15 21.49, Junio C Hamano wrote:
>>>> Mark Levedahl <mlevedahl@gmail.com> writes:
>>>>
>>>>>> In order to limit the adverse effects caused by this implementation,
>>>>>> we provide a new "fast stat" interface, which allows us to use this
>>>>>> only for interactions with the index (i.e. the cached stat data).
>>>>>>
>>>>>> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
>>>>>> ---
>>>>> I've tested this on Cygwin 1.7 on WIndows 7 , comparing to the results
>>>>> using your prior patch (removing the Cygwin specific lstat entirely)
>>>>> and get the same results with both, so this seems ok from me.
>>>>>
>>>>> My comparison point was created by reverting your current patch from
>>>>> pu, then reapplying your earlier patch on top, so the only difference
>>>>> was which approach was used to address the stat functions.
>>>>>
>>>>> Caveats:
>>>>> 1) I don't find any speed improvement of the current patch over the
>>>>> previous one (the tests actually ran faster with the earlier patch,
>>>>> though the difference was less than 1%).
>>> Hm, measuring the time for the test suite is one thing,
>>> did you measure the time of "git status" with and without the patch?
>>>
>>> (I don't have my test system at hand, so I can test in a few days/weeks)
>> Timing for 5 rounds of "git status" in the git project. First, with the 
>> current fast_lstat patches:
>> /usr/local/src/git>for i in {1..5} ; do time git status >& /dev/null ; done
>>
>> real    0m0.218s
>> user    0m0.000s
>> sys     0m0.218s
>>
>> real    0m0.187s
>> user    0m0.077s
>> sys     0m0.109s
>>
>> real    0m0.187s
>> user    0m0.030s
>> sys     0m0.156s
>>
>> real    0m0.203s
>> user    0m0.031s
>> sys     0m0.171s
>>
>> real    0m0.187s
>> user    0m0.062s
>> sys     0m0.124s
>>
>> Now, with Ramsay's original patch just removing the non-Posix stat 
>> functions:
>> /usr/local/src/git>for i in {1..5} ; do time git status >& /dev/null ; done
>>
>> real    0m0.218s
>> user    0m0.046s
>> sys     0m0.171s
>>
>> real    0m0.187s
>> user    0m0.015s
>> sys     0m0.171s
>>
>> real    0m0.187s
>> user    0m0.015s
>> sys     0m0.171s
>>
>> real    0m0.187s
>> user    0m0.047s
>> sys     0m0.140s
>>
>> real    0m0.187s
>> user    0m0.031s
>> sys     0m0.156s
>>
>>
>> I see no difference in the above. (Yes, I checked multiple times that I 
>> was using different executables).
> 
> Hmm, that looks good. :-D
> 
> Torsten reported a performance boost using the win32 stat() implementation
> on a linux git repo (2s -> 1s, if I recall correctly) on cygwin 1.7.
> Do you have a larger repo available to test?
(I have a 5 years old Dual Core, 2.5 Ghz, 1 TB hard disk, Win XP, cygwin 1.7)
On that machine I can see the performance boost.
Which kind of computers are you guys using?

SSD/hard disk ?
How much RAM ?
Which OS ?
Is there a difference between Win XP, Win7, Win8?

[snip]

  reply	other threads:[~2013-07-18 21:49 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-10 20:23 [RFC/PATCH v2 1/1] cygwin: Add fast_lstat() and fast_fstat() functions Ramsay Jones
2013-07-14 16:15 ` Mark Levedahl
2013-07-15 19:49   ` Junio C Hamano
2013-07-16  2:06     ` Torsten Bögershausen
2013-07-16  3:54       ` Mark Levedahl
2013-07-16 15:42         ` Dmitry Potapov
2013-07-16 22:52           ` Mark Levedahl
2013-07-18 17:50         ` Ramsay Jones
2013-07-18 21:49           ` Torsten Bögershausen [this message]
2013-07-18 22:36             ` Mark Levedahl
2013-07-18 23:32               ` Junio C Hamano
2013-07-19 15:34                 ` Mark Levedahl
2013-07-16  3:44     ` Mark Levedahl
2013-07-16 21:36   ` Ramsay Jones
2013-07-16 23:13     ` Mark Levedahl
2013-07-18 17:43       ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51E862FC.4090607@web.de \
    --to=tboegi@web.de \
    --cc=dpotapov@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=j6t@kdbg.org \
    --cc=mhagger@alum.mit.edu \
    --cc=mlevedahl@gmail.com \
    --cc=peff@peff.net \
    --cc=ramsay@ramsay1.demon.co.uk \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.