#!/bin/sh
test_description="Tests performance of cache tree update operations"
. ./perf-lib.sh
test_perf_large_repo
test_checkout_worktree
count=100
test_expect_success 'setup cache tree' '
git write-tree
'
test_cache_tree () {
test_perf "$1, $3" "
for i in \$(test_seq $count)
do
test-tool cache-tree $4 $2
done
"
}
test_cache_tree_update_functions () {
test_cache_tree 'no-op' 'control' "$1" "$2"
test_cache_tree 'prime_cache_tree' 'prime' "$1" "$2"
test_cache_tree 'cache_tree_update' 'update' "$1" "$2"
}
test_cache_tree_update_functions "clean" ""
test_cache_tree_update_functions "invalidate 2" "--invalidate 2"
test_cache_tree_update_functions "invalidate 50" "--invalidate 50"
test_cache_tree_update_functions "empty" "--empty"
test_done