Merge branch 'jh/memihash-opt' into maint
perf-test update. * jh/memihash-opt: p0004: don't error out if test repo is too small p0004: don't abort if multi-threaded is too slow p0004: use test_perf p0004: avoid using pipes p0004: simplify calls of test-lazy-init-name-hash
This commit is contained in:
commit
a4478c9c03
@ -7,13 +7,50 @@ 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-lazy-init-name-hash --dump --single >out.single &&
|
||||
if test-lazy-init-name-hash --dump --multi >out.multi
|
||||
then
|
||||
test_set_prereq REPO_BIG_ENOUGH_FOR_MULTI &&
|
||||
sort <out.single >sorted.single &&
|
||||
sort <out.multi >sorted.multi &&
|
||||
test_cmp sorted.single sorted.multi
|
||||
fi
|
||||
'
|
||||
|
||||
test_expect_success 'multithreaded should be faster' '
|
||||
$GIT_BUILD_DIR/t/helper/test-lazy-init-name-hash$X --perf >out.perf
|
||||
test_expect_success 'calibrate' '
|
||||
entries=$(wc -l <out.single) &&
|
||||
|
||||
case $entries in
|
||||
?) count=1000000 ;;
|
||||
??) count=100000 ;;
|
||||
???) count=10000 ;;
|
||||
????) count=1000 ;;
|
||||
?????) count=100 ;;
|
||||
??????) count=10 ;;
|
||||
*) count=1 ;;
|
||||
esac &&
|
||||
export count &&
|
||||
|
||||
case $entries in
|
||||
1) entries_desc="1 entry" ;;
|
||||
*) entries_desc="$entries entries" ;;
|
||||
esac &&
|
||||
|
||||
case $count in
|
||||
1) count_desc="1 round" ;;
|
||||
*) count_desc="$count rounds" ;;
|
||||
esac &&
|
||||
|
||||
desc="$entries_desc, $count_desc" &&
|
||||
export desc
|
||||
'
|
||||
|
||||
test_perf "single-threaded, $desc" "
|
||||
test-lazy-init-name-hash --single --count=$count
|
||||
"
|
||||
|
||||
test_perf REPO_BIG_ENOUGH_FOR_MULTI "multi-threaded, $desc" "
|
||||
test-lazy-init-name-hash --multi --count=$count
|
||||
"
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user