42 lines
917 B
42 lines
917 B
#!/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_perf 'git log --oneline --raw --parents' ' |
|
git log --oneline --raw --parents >/dev/null |
|
' |
|
|
|
test_perf 'git log --oneline --raw --parents -1000' ' |
|
git log --oneline --raw --parents -1000 >/dev/null |
|
' |
|
|
|
test_done
|
|
|