[PATCH 03/11] Introduce a performance test for git-blame
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Mar 12, 2012, 15:09 UTC
- Message-ID
- <64fe6409a201285227862feffb2d51e4d8efc3eb.1331561353.git.trast@student.ethz.ch>
- In-Reply-To
- <cover.1331561353.git.trast@student.ethz.ch>
It blames a pseudo-randomly chosen (but fixed as long as the tested repository remains the same) set of 10 files with various options. The choice of 10 is arbitrary, but gives a nice runtime with git.git.
Signed-off-by: Thomas Rast <trast@student.ethz.ch> --- t/perf/p8002-blame.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 t/perf/p8002-blame.sh
diff --git a/t/perf/p8002-blame.sh b/t/perf/p8002-blame.sh new file mode 100755 index 0000000..000b9d2 --- /dev/null +++ b/t/perf/p8002-blame.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +test_description="Tests blame performance" + +. ./perf-lib.sh + +test_perf_default_repo + +# Pick 10 files to blame pseudo-randomly. The sort key is the blob +# hash, so it is stable. +test_expect_success 'setup' ' + git ls-tree HEAD | grep ^100644 | + sort -k 3 | head | cut -f 2 >filelist +' + +test_perf 'blame' ' + while read -r name; do + git blame HEAD -- "$name" >/dev/null + done <filelist +' + +test_perf 'blame -M' ' + while read -r name; do + git blame -M HEAD -- "$name" >/dev/null + done <filelist +' + +test_perf 'blame -C' ' + while read -r name; do + git blame -C HEAD -- "$name" >/dev/null + done <filelist +' + +test_perf 'blame -C -C' ' + while read -r name; do + git blame -C -C HEAD -- "$name" >/dev/null + done <filelist +' + +test_perf 'blame -C -C -C' ' + while read -r name; do + git blame -C -C -C HEAD -- "$name" >/dev/null + done <filelist +' + +test_done
-- 1.7.10.rc0.230.g16d90