git/t/perf/p4211-line-log.sh
Jeff King 85a727895d p4211: explicitly disable renames in no-rename test
p4211 tests line-log performance both with and without "-M".
In v2.9.0, the case without "-M" appears to have regressed
badly, but that is only because we flipped on renames by
default.

Let's have the test explicitly disable renames to get
consistent timings (and to match the presumed intent of the
test, which is to see the effects with and without renames).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-06-22 13:47:55 -07:00

35 lines
711 B
Bash
Executable file

#!/bin/sh
test_description='Tests log -L performance'
. ./perf-lib.sh
test_perf_default_repo
# Pick a file to log pseudo-randomly. The sort key is the blob hash,
# so it is stable.
test_expect_success 'select a file' '
git ls-tree HEAD | grep ^100644 |
sort -k 3 | head -1 | cut -f 2 >filelist
'
file=$(cat filelist)
export file
test_perf 'git rev-list --topo-order (baseline)' '
git rev-list --topo-order HEAD >/dev/null
'
test_perf 'git log --follow (baseline for -M)' '
git log --oneline --follow -- "$file" >/dev/null
'
test_perf 'git log -L (renames off)' '
git log --no-renames -L 1:"$file" >/dev/null
'
test_perf 'git log -L (renames on)' '
git log -M -L 1:"$file" >/dev/null
'
test_done