From 1c6833c800ad98adecd85815db103cfd4d06c50a Mon Sep 17 00:00:00 2001 From: Nipunn Koorapati Date: Mon, 26 Oct 2020 19:32:53 +0000 Subject: [PATCH] t/perf/fsmonitor: add benchmark for dirty status This benchmark covers the git status time for a heavily dirty directory - benchmarking fsmonitor's refresh When running to compare our perl vs rs-git-fsmonitor - we see that the perl script incurs significant overhead - further motivation to provide a faster implementation within git. 7519.7: status (dirty) (fsmonitor=query-watchman) 10.05(7.78+1.56) 7519.20: status (dirty) (fsmonitor=rs-git-fsmonitor) 6.72(4.37+1.64) 7519.33: status (dirty) (fsmonitor=disabled) 5.62(4.24+2.03) Signed-off-by: Nipunn Koorapati Signed-off-by: Junio C Hamano --- t/perf/p7519-fsmonitor.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/t/perf/p7519-fsmonitor.sh b/t/perf/p7519-fsmonitor.sh index 577f79d455..163a13bea3 100755 --- a/t/perf/p7519-fsmonitor.sh +++ b/t/perf/p7519-fsmonitor.sh @@ -165,6 +165,11 @@ test_fsmonitor_suite() { git status -uall ' + test_perf_w_drop_caches "status (dirty) ($DESC)" ' + git ls-files | head -100000 | xargs -d "\n" touch -h && + git status + ' + test_perf_w_drop_caches "diff ($DESC)" ' git diff '