#!/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