summaryrefslogtreecommitdiff
path: root/t/perf
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2017-03-28 14:06:00 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2017-03-28 14:06:00 -0700
commit0330344e0f63415421aff87d29ee037d3ea3b436 (patch)
treedbce2507fe2a5fe77e1b202fb60d28de789e0c03 /t/perf
parentMerge branch 'jk/fast-import-cleanup' (diff)
parentname-hash: add test-lazy-init-name-hash to .gitignore (diff)
downloadtgif-0330344e0f63415421aff87d29ee037d3ea3b436.tar.xz
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 0000000000..5afa8c8df3
--- /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