From: Thomas Rast <trast@xxxxxxxxxxx> Add a performance test for index version [23]/4 by using git update-index --index-version=x, thus testing both the reader and the writer speed of all index formats. Signed-off-by: Thomas Rast <trast@xxxxxxxxxxx> Signed-off-by: Thomas Gummerer <t.gummerer@xxxxxxxxx> --- t/perf/p0003-index.sh | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100755 t/perf/p0003-index.sh diff --git a/t/perf/p0003-index.sh b/t/perf/p0003-index.sh new file mode 100755 index 0000000..f2308c0 --- /dev/null +++ b/t/perf/p0003-index.sh @@ -0,0 +1,56 @@ +#!/bin/sh + +test_description="Tests index versions [23]/4/5" + +. ./perf-lib.sh + +test_perf_large_repo +test_checkout_worktree + +test_expect_success "convert to v3" " + git update-index --index-version=2 +" +subdir=$(git ls-files | sed 's#/[^/]*$##' | grep -v '^$' | uniq | tail -n 30 | head -1) +file=$(git ls-files | tail -n 100 | head -1) + +test_expect_success "modify a file" " + echo 'foo bar' >>$file +" + +test_perf "v[23]: update-index" " + git update-index --index-version=2 >/dev/null +" + +test_perf "v[23]: grep nonexistent -- subdir" " + test_must_fail git grep nonexistent -- $subdir >/dev/null +" + +test_perf "v[23]: ls-files -- subdir" " + git ls-files $subdir >/dev/null +" + +test_perf --cleanup "git reset" "v[23]: update-index -- file" " + git update-index $file +" + +test_expect_success "convert to v4" " + git update-index --index-version=4 +" + +test_perf "v4: update-index" " + git update-index --index-version=4 >/dev/null +" + +test_perf "v4: grep nonexistent -- subdir" " + test_must_fail git grep nonexistent -- $subdir >/dev/null +" + +test_perf "v4: ls-files -- subdir" " + git ls-files $subdir >/dev/null +" + +test_perf --cleanup "git reset" "v4: update-index -- file" " + git update-index $file +" + +test_done -- 1.8.3.4.1241.g1ce9896 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html