You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
1.2 KiB
70 lines
1.2 KiB
#!/bin/sh |
|
|
|
test_description="Test pickaxe performance" |
|
|
|
. ./perf-lib.sh |
|
|
|
test_perf_default_repo |
|
|
|
# Not --max-count, as that's the number of matching commit, so it's |
|
# unbounded. We want to limit our revision walk here. |
|
from_rev_desc= |
|
from_rev= |
|
max_count=1000 |
|
if test_have_prereq EXPENSIVE |
|
then |
|
max_count=10000 |
|
fi |
|
from_rev=" $(git rev-list HEAD | head -n $max_count | tail -n 1).." |
|
from_rev_desc=" <limit-rev>.." |
|
|
|
for icase in \ |
|
'' \ |
|
'-i ' |
|
do |
|
# -S (no regex) |
|
for pattern in \ |
|
'int main' \ |
|
'æ' |
|
do |
|
for opts in \ |
|
'-S' |
|
do |
|
test_perf "git log $icase$opts'$pattern'$from_rev_desc" " |
|
git log --pretty=format:%H $icase$opts'$pattern'$from_rev |
|
" |
|
done |
|
done |
|
|
|
# -S (regex) |
|
for pattern in \ |
|
'(int|void|null)' \ |
|
'if *\([^ ]+ & ' \ |
|
'[àáâãäåæñøùúûüýþ]' |
|
do |
|
for opts in \ |
|
'--pickaxe-regex -S' |
|
do |
|
test_perf "git log $icase$opts'$pattern'$from_rev_desc" " |
|
git log --pretty=format:%H $icase$opts'$pattern'$from_rev |
|
" |
|
done |
|
done |
|
|
|
# -G |
|
for pattern in \ |
|
'(int|void|null)' \ |
|
'if *\([^ ]+ & ' \ |
|
'[àáâãäåæñøùúûüýþ]' |
|
do |
|
for opts in \ |
|
'-G' |
|
do |
|
test_perf "git log $icase$opts'$pattern'$from_rev_desc" " |
|
git log --pretty=format:%H $icase$opts'$pattern'$from_rev |
|
" |
|
done |
|
done |
|
done |
|
|
|
test_done
|
|
|