[PATCH 29/30] p1401: create performance test for ref operations
From: Derrick Stolee via GitGitGadget <hidden>
Date: 2022-11-07 18:38:08
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Derrick Stolee <redacted> TBD Signed-off-by: Derrick Stolee <redacted> --- t/perf/p1401-ref-operations.sh | 47 ++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 t/perf/p1401-ref-operations.sh
diff --git a/t/perf/p1401-ref-operations.sh b/t/perf/p1401-ref-operations.sh
new file mode 100755
index 00000000000..1c372ba0ee8
--- /dev/null
+++ b/t/perf/p1401-ref-operations.sh@@ -0,0 +1,47 @@ +#!/bin/sh + +test_description="Tests performance of ref operations" + +. ./perf-lib.sh + +test_perf_large_repo + +test_perf 'git pack-refs (v1)' ' + git commit --allow-empty -m "change one ref" && + git pack-refs --all +' + +test_perf 'git for-each-ref (v1)' ' + git for-each-ref --format="%(refname)" >/dev/null +' + +test_perf 'git for-each-ref prefix (v1)' ' + git for-each-ref --format="%(refname)" refs/tags/ >/dev/null +' + +test_expect_success 'configure packed-refs v2' ' + git config core.repositoryFormatVersion 1 && + git config --add extensions.refFormat files && + git config --add extensions.refFormat packed && + git config --add extensions.refFormat packed-v2 && + git config refs.packedRefsVersion 2 && + git commit --allow-empty -m "change one ref" && + git pack-refs --all && + test_copy_bytes 16 .git/packed-refs | xxd >actual && + grep PREF actual +' + +test_perf 'git pack-refs (v2)' ' + git commit --allow-empty -m "change one ref" && + git pack-refs --all +' + +test_perf 'git for-each-ref (v2)' ' + git for-each-ref --format="%(refname)" >/dev/null +' + +test_perf 'git for-each-ref prefix (v2)' ' + git for-each-ref --format="%(refname)" refs/tags/ >/dev/null +' + +test_done
--
gitgitgadget