summaryrefslogtreecommitdiff
path: root/t/perf/p5314-name-hash.sh
diff options
context:
space:
mode:
Diffstat (limited to 't/perf/p5314-name-hash.sh')
-rwxr-xr-xt/perf/p5314-name-hash.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/t/perf/p5314-name-hash.sh b/t/perf/p5314-name-hash.sh
new file mode 100755
index 0000000000..235cdfc824
--- /dev/null
+++ b/t/perf/p5314-name-hash.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+test_description='Tests pack performance using bitmaps'
+. ./perf-lib.sh
+
+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