On Mon, Oct 19, 2020 at 10:23:26AM -0700, Junio C Hamano wrote:
Taylor Blau [off-list ref] writes:
quoted
quoted
quoted
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