| #!/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 |