aboutsummaryrefslogtreecommitdiffstats
path: root/t/perf/p5314-name-hash.sh
blob: 4ef0ba771143d8edbd0dff08cce3d0c0ee7bb236 (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
#!/bin/sh

test_description='Tests pack performance using bitmaps'
. ./perf-lib.sh

GIT_TEST_PASSING_SANITIZE_LEAK=0
export GIT_TEST_PASSING_SANITIZE_LEAK

test_perf_large_repo

test_size 'paths at head' '
	git ls-tree -r --name-only HEAD >path-list &&
	wc -l <path-list &&
	test-tool name-hash <path-list >name-hashes
'

for version in 1 2
do
	test_size "distinct hash value: v$version" '
		awk "{ print \$$version; }" <name-hashes | sort | \
			uniq -c >name-hash-count &&
		wc -l <name-hash-count
	'

	test_size "maximum multiplicity: v$version" '
		sort -nr <name-hash-count | head -n 1 |	\
			awk "{ print \$1; }"
	'
done

test_done