name-hash: add perf test for lazy_init_name_hash
authorJeff Hostetler <jeffhost@microsoft.com>
Thu, 23 Mar 2017 13:47:05 +0000 (13:47 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 24 Mar 2017 18:00:03 +0000 (11:00 -0700)
Created t/perf/p0004-lazy-init-name-hash.sh test
to demonstrate correctness and performance gains
with the multithreaded version of lazy_init_name_hash().

Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/perf/p0004-lazy-init-name-hash.sh [new file with mode: 0644]
diff --git a/t/perf/p0004-lazy-init-name-hash.sh b/t/perf/p0004-lazy-init-name-hash.sh
new file mode 100644 (file)
index 0000000..5afa8c8
--- /dev/null
@@ -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