From: Christian Couder <christian.couder@gmail.com>
To: Duy Nguyen <pclouds@gmail.com>
Cc: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>,
Git <git@vger.kernel.org>,
David Turner <dturner@twopensource.com>
Subject: Re: [PATCH 0/5] Use watchman to reduce index refresh time
Date: Mon, 9 Nov 2015 21:06:53 +0100 [thread overview]
Message-ID: <CAP8UFD0rAL62eFdtLo__ta=_Yhq4cdRcqmfYTqw3imNa5Lde-A@mail.gmail.com> (raw)
In-Reply-To: <CACsJy8Dz17gRSHch9e=iB2Kq2t4FbssatW84DF8pHTuFMgEgjQ@mail.gmail.com>
On Tue, Nov 3, 2015 at 10:21 AM, Duy Nguyen <pclouds@gmail.com> wrote:
> On Mon, Nov 2, 2015 at 8:23 PM, Duy Nguyen <pclouds@gmail.com> wrote:
>> On Mon, Nov 2, 2015 at 3:54 PM, Paolo Ciarrocchi
>> <paolo.ciarrocchi@gmail.com> wrote:
>>> On Sun, Nov 1, 2015 at 2:55 PM, Nguyễn Thái Ngọc Duy <pclouds@gmail.com> wrote:
>>>
>>> Hi Duy,
>>>
>>>> This series builds on top of the index-helper series I just sent and
>>>> uses watchman to keep track of file changes in order to avoid lstat()
>>>> at refresh time. The series can also be found at [1]
>>>>
>>>> When I started this work, watchman did not support Windows yet. It
>>>> does now, even if still experimental [2]. So Windows people, please
>>>> try it out if you have time.
>>>>
>>>> To put all pieces so far together, we have split-index to reduce index
>>>> write time, untracked cache to reduce I/O as well as computation for
>>>> .gitignore, index-helper for index read time and this series for
>>>> lstat() at refresh time. The remaining piece is killing lstat() from
>>>> untracked cache, but right now it's just some idea and incomplete
>>>> code.
>>>
>>> Did you manage to measure the speedup introduced by this series?
>>
>> It was from last year. I may have measured it but because I didn't
>> save it in the commit message, it was lost anyway. Installing watchman
>> and measuring with webkit.git soon..
>
> Test repo: webkit.git with 104665 tracked files, 5615 untracked,
> 3517 dirs. Best numbers out of a few tries. This is best case
> scenario. Normal usage could have worse numbers.
Thank you for the tests!
I tried to replicate your results on webkit.git with 184672 tracked
files, 5631 untracked, 9330 dirs. Also best numbers out of a few
tries.
> There is something strange about the "-uno" measurements. I don't
> think watchman+untracked cache can beat -uno.. Maybe I did something
> wrong.
>
> 0m0.383s index v2
> 0m0.351s index v4
> 0m0.352s v2 split-index
> 0m0.309s v2 split index-helper
> 0m0.159s v2 split helper untracked-cache
> 0m0.123s v2 split helper "status -uno"
> 0m0.098s v2 split helper untracked watchman
> 0m0.071s v2 split helper watchman "status -uno"
I got the following results from "time git status ...":
0m0.774s
0m0.799s split
0m0.766s split helper
0m0.335s split helper untracked
0m0.232s split helper untracked -uno
0m0.284s split helper untracked watchman
0m0.188s split helper untracked watchman -uno
Using David's series I get worse results than all of the above but I
guess it's because his series is based on an ancient git version
(v2.0.0-rc0).
> Note, the watchman series needs
> s/free_watchman_shm/release_watchman_shm/ (I didn't do a good job
> of testing after rebase). And there's a small bug in index-helper
> --detach code writing incorrect PID..
I did the s/free_watchman_shm/release_watchman_shm/ change, but I
didn't notice the index-helper bug.
Thanks,
Christian.
next prev parent reply other threads:[~2015-11-09 20:07 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-01 13:55 [PATCH 0/5] Use watchman to reduce index refresh time Nguyễn Thái Ngọc Duy
2015-11-01 13:55 ` [PATCH 1/5] read-cache: add watchman 'WAMA' extension Nguyễn Thái Ngọc Duy
2015-11-02 22:03 ` David Turner
2015-11-03 19:17 ` Duy Nguyen
2015-11-03 19:49 ` David Turner
2015-11-01 13:55 ` [PATCH 2/5] Add watchman support to reduce index refresh cost Nguyễn Thái Ngọc Duy
2015-11-02 21:19 ` David Turner
2015-11-01 13:55 ` [PATCH 3/5] read-cache: allow index-helper to prepare shm before git reads it Nguyễn Thái Ngọc Duy
2015-11-01 13:55 ` [PATCH 4/5] index-helper: use watchman to avoid refreshing index with lstat() Nguyễn Thái Ngọc Duy
2015-11-01 13:55 ` [PATCH 5/5] update-index: enable/disable watchman support Nguyễn Thái Ngọc Duy
2015-11-02 14:54 ` [PATCH 0/5] Use watchman to reduce index refresh time Paolo Ciarrocchi
2015-11-02 19:23 ` Duy Nguyen
2015-11-03 9:21 ` Duy Nguyen
2015-11-03 10:26 ` Paolo Ciarrocchi
2015-11-09 20:06 ` Christian Couder [this message]
2015-11-10 21:04 ` David Turner
2015-11-20 9:45 ` Christian Couder
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='CAP8UFD0rAL62eFdtLo__ta=_Yhq4cdRcqmfYTqw3imNa5Lde-A@mail.gmail.com' \
--to=christian.couder@gmail.com \
--cc=dturner@twopensource.com \
--cc=git@vger.kernel.org \
--cc=paolo.ciarrocchi@gmail.com \
--cc=pclouds@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).