summaryrefslogtreecommitdiffstats
path: root/t/perf/p0090-cache-tree.sh
blob: a8eabca2c4df834eb6daaf8d154d9d5b2a84c349 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/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