Re: [PATCH 1/4] fsmonitor: use fsmonitor data in `git diff`
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Oct 19, 2020, 17:37 UTC
- Message-ID
- <20201019173724.GA42706@nand.local>
- In-Reply-To
- <xmqqr1puuo35.fsf@gitster.c.googlers.com>
On Mon, Oct 19, 2020 at 10:23:26AM -0700, Junio C Hamano wrote:
Show 14 quoted lines
> Taylor Blau <me@ttaylorr.com> writes: > > >> > There is some overhead to invoke the hook and talk to watchman, but > >> > I'd expect that to be dwarfed by not having to issue O(# files) > >> > syscalls. > >> > >> "invoke the hook"---is that a pipe+fork+exec, or something else that > >> is far lighter-weight? > > > > The former; see 'fsmonitor.c:query_fsmonitor()'. > > It brings us back to the "overhead of how many lstat(2) takes us > closer to the overhead of a single pipe+fork+exec plus reading from > the pipe", doesn't it?
Somewhat unfortunately, yes. Hopefully any user that cares to use fsmonitor has enough files in their repository that a pipe+fork+exec is still faster than however many lstats they would have needed otherwise.
Of course, finding out what that number is is still interesting...
Thanks, Taylor