mirror of
https://github.com/git/git
synced 2024-08-28 12:09:19 +00:00
![Jeff King](/assets/img/avatar_default.png)
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>
35 lines
711 B
Bash
Executable file
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
|