summaryrefslogtreecommitdiff
path: root/t/perf
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-03-28 21:06:00 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-03-28 21:06:00 (GMT)
commit0330344e0f63415421aff87d29ee037d3ea3b436 (patch)
treedbce2507fe2a5fe77e1b202fb60d28de789e0c03 /t/perf
parent53a0f9f7ad8cda231ce5bb15a0f086f29bdc6de3 (diff)
parent41b3eb4a6bff4d38bb188d28544bf901080d9e96 (diff)
downloadgit-0330344e0f63415421aff87d29ee037d3ea3b436.zip
git-0330344e0f63415421aff87d29ee037d3ea3b436.tar.gz
git-0330344e0f63415421aff87d29ee037d3ea3b436.tar.bz2
Merge branch 'jh/memihash-opt'
The name-hash used for detecting paths that are different only in cases (which matter on case insensitive filesystems) has been optimized to take advantage of multi-threading when it makes sense. * jh/memihash-opt: name-hash: add test-lazy-init-name-hash to .gitignore name-hash: add perf test for lazy_init_name_hash name-hash: add test-lazy-init-name-hash name-hash: perf improvement for lazy_init_name_hash hashmap: document memihash_cont, hashmap_disallow_rehash api hashmap: add disallow_rehash setting hashmap: allow memihash computation to be continued name-hash: specify initial size for istate.dir_hash table
Diffstat (limited to 't/perf')
-rw-r--r--t/perf/p0004-lazy-init-name-hash.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/t/perf/p0004-lazy-init-name-hash.sh b/t/perf/p0004-lazy-init-name-hash.sh
new file mode 100644
index 0000000..5afa8c8
--- /dev/null
+++ b/t/perf/p0004-lazy-init-name-hash.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+test_description='Tests multi-threaded lazy_init_name_hash'
+. ./perf-lib.sh
+
+test_perf_large_repo
+test_checkout_worktree
+
+test_expect_success 'verify both methods build the same hashmaps' '
+ $GIT_BUILD_DIR/t/helper/test-lazy-init-name-hash$X --dump --single | sort >out.single &&
+ $GIT_BUILD_DIR/t/helper/test-lazy-init-name-hash$X --dump --multi | sort >out.multi &&
+ test_cmp out.single out.multi
+'
+
+test_expect_success 'multithreaded should be faster' '
+ $GIT_BUILD_DIR/t/helper/test-lazy-init-name-hash$X --perf >out.perf
+'
+
+test_done