summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNipunn Koorapati <nipunn@dropbox.com>2020-10-26 19:32:53 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-10-26 23:39:34 (GMT)
commit1c6833c800ad98adecd85815db103cfd4d06c50a (patch)
treefc0fc317723af49c228fe5bcdd6bc6e6fc94bff0
parenta948864ae70cef857cc9150a5a89641f52fd32d3 (diff)
downloadgit-1c6833c800ad98adecd85815db103cfd4d06c50a.zip
git-1c6833c800ad98adecd85815db103cfd4d06c50a.tar.gz
git-1c6833c800ad98adecd85815db103cfd4d06c50a.tar.bz2
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 <nipunn@dropbox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/perf/p7519-fsmonitor.sh5
1 files changed, 5 insertions, 0 deletions
diff --git a/t/perf/p7519-fsmonitor.sh b/t/perf/p7519-fsmonitor.sh
index 577f79d..163a13b 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
'