From: Jeff Hostetler <git@jeffhostetler.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Junio C Hamano" <gitster@pobox.com>
Cc: git@vger.kernel.org,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Derrick Stolee <stolee@gmail.com>
Subject: Re: What's cooking in git.git (Jun 2021, #07; Wed, 30)
Date: Thu, 1 Jul 2021 10:20:29 -0400 [thread overview]
Message-ID: <4d72a3d6-397e-e55b-cc11-5591070d5e27@jeffhostetler.com> (raw)
In-Reply-To: <87r1gicfh1.fsf@evledraar.gmail.com>
On 7/1/21 9:42 AM, Ævar Arnfjörð Bjarmason wrote:
>
> On Wed, Jun 30 2021, Junio C Hamano wrote:
>
>> * jh/builtin-fsmonitor (2021-05-24) 30 commits
>> - t/perf: avoid copying builtin fsmonitor files into test repo
>> - t7527: test status with untracked-cache and fsmonitor--daemon
>> - p7519: add fsmonitor--daemon
>> - t7527: create test for fsmonitor--daemon
>> - fsmonitor: force update index after large responses
>> - fsmonitor: enhance existing comments
>> - fsmonitor--daemon: use a cookie file to sync with file system
>> - fsmonitor--daemon: periodically truncate list of modified files
>> - fsmonitor--daemon: implement handle_client callback
>> - fsmonitor-fs-listen-macos: implement FSEvent listener on MacOS
>> - fsmonitor-fs-listen-macos: add macos header files for FSEvent
>> - fsmonitor-fs-listen-win32: implement FSMonitor backend on Windows
>> - fsmonitor--daemon: create token-based changed path cache
>> - fsmonitor--daemon: define token-ids
>> - fsmonitor--daemon: add pathname classification
>> - fsmonitor--daemon: implement daemon command options
>> - fsmonitor-fs-listen-macos: stub in backend for MacOS
>> - fsmonitor-fs-listen-win32: stub in backend for Windows
>> - t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon
>> - fsmonitor--daemon: implement client command options
>> - fsmonitor--daemon: add a built-in fsmonitor daemon
>> - fsmonitor: introduce `core.useBuiltinFSMonitor` to call the daemon via IPC
>> - config: FSMonitor is repository-specific
>> - help: include fsmonitor--daemon feature flag in version info
>> - fsmonitor-ipc: create client routines for git-fsmonitor--daemon
>> - fsmonitor--daemon: update fsmonitor documentation
>> - fsmonitor--daemon: man page
>> - simple-ipc: preparations for supporting binary messages.
>> - Merge branch 'jk/perf-in-worktrees' into HEAD
>> - Merge branch 'jh/simple-ipc' into jh/rfc-builtin-fsmonitor
>>
>> An attempt to write and ship with a watchman equivalent tailored
>> for our use.
>>
>> What's the status of this one?
>
> I think Johannes's reply to the last WC applies[1]:
>
> I am not Jeff, but I know that he is busy getting back to it, and
> plans on submitting a third iteration.
>
> FWIW I'm still curious about some details on the performance concerns
> that seem to have prompted this built-in fsmonitor endeavor, as I asked
> about (but didn't get a reply to) in [2].
>
> Not as a "we shouldn't have this, let's keep using the hook", but just
> curiosity about why we've seemingly gotten such different performance
> numbers on the watchman hook v.s. a built-in approach.
>
> I suspect (but don't know) that the reason is that the built-in is
> perhaps integrating differently with git somehow, in a way that we could
> retrofit the hook approach to also do (if anyone still cares about the
> hook approach).
>
> In any case I'm interested in *why* the new approach is faster, given
> that I've done some testing (again, noted in [2]) that suggest that
> bottleneck in the previous pipeline wasn't at all what Jeff H. thought
> it was.
>
> 1. https://lore.kernel.org/git/nycvar.QRO.7.76.6.2106171135530.57@tvgsbejvaqbjf.bet/#t
> 2. https://lore.kernel.org/git/87h7lgfchm.fsf@evledraar.gmail.com/
>
A quick reply here of Junio's question. Yes, I'm working on a V3
to submit (any day now -- $DAYJOB notwithstanding (read: meetings)).
I'll push this up and then try to answer the perf questions.
Thanks for your patience.
Jeff
next prev parent reply other threads:[~2021-07-01 14:20 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-30 22:55 What's cooking in git.git (Jun 2021, #07; Wed, 30) Junio C Hamano
2021-07-01 0:02 ` Felipe Contreras
[not found] ` <CAFQ2z_PYJMzOBcN+KoQSfdD-eYtZVzrArL0Dh-YW-q3R8hgm2w@mail.gmail.com>
2021-07-01 7:19 ` Han-Wen Nienhuys
2021-07-01 13:06 ` Ævar Arnfjörð Bjarmason
2021-07-01 13:42 ` Ævar Arnfjörð Bjarmason
2021-07-01 14:20 ` Jeff Hostetler [this message]
2021-07-01 14:00 ` Ævar Arnfjörð Bjarmason
2021-07-01 15:21 ` Junio C Hamano
2021-07-02 12:18 ` Ævar Arnfjörð Bjarmason
2021-07-02 16:05 ` Junio C Hamano
2021-07-01 16:51 ` Jeff King
2021-07-01 16:20 ` Jeff King
2021-07-03 5:04 ` Elijah Newren
2021-07-05 8:03 ` Ævar Arnfjörð Bjarmason
2021-07-05 12:02 ` Jeff King
2021-07-06 13:46 ` Phillip Wood
2021-07-06 19:29 ` Ævar Arnfjörð Bjarmason
2021-07-06 20:36 ` 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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4d72a3d6-397e-e55b-cc11-5591070d5e27@jeffhostetler.com \
--to=git@jeffhostetler.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=stolee@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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).