diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-02-15 23:18:09 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-02-15 23:18:09 (GMT) |
commit | af38deeb472ae1921b7d367c4b406722b2dd9eef (patch) | |
tree | e8c4b6b907ef2ed4222831e08c0316b07b202ca8 /t/perf/p7820-grep-engines.sh | |
parent | 8279ed033f703d4115bee620dccd32a9ec94d9aa (diff) | |
parent | 7b31b55db18f5348ee62ed283f115544bc1049ac (diff) | |
download | git-af38deeb472ae1921b7d367c4b406722b2dd9eef.zip git-af38deeb472ae1921b7d367c4b406722b2dd9eef.tar.gz git-af38deeb472ae1921b7d367c4b406722b2dd9eef.tar.bz2 |
Merge branch 'ab/perf-grep-threads' into maint
More perf tests for threaded grep
* ab/perf-grep-threads:
perf: amend the grep tests to test grep.threads
Diffstat (limited to 't/perf/p7820-grep-engines.sh')
-rwxr-xr-x | t/perf/p7820-grep-engines.sh | 52 |
1 files changed, 42 insertions, 10 deletions
diff --git a/t/perf/p7820-grep-engines.sh b/t/perf/p7820-grep-engines.sh index 62aba19..8b09c5b 100755 --- a/t/perf/p7820-grep-engines.sh +++ b/t/perf/p7820-grep-engines.sh @@ -12,6 +12,9 @@ e.g. GIT_PERF_7820_GREP_OPTS=' -i'. Some options to try: -vi -vw -viw + +If GIT_PERF_GREP_THREADS is set to a list of threads (e.g. '1 4 8' +etc.) we will test the patterns under those numbers of threads. " . ./perf-lib.sh @@ -19,6 +22,11 @@ e.g. GIT_PERF_7820_GREP_OPTS=' -i'. Some options to try: test_perf_large_repo test_checkout_worktree +if test -n "$GIT_PERF_GREP_THREADS" +then + test_set_prereq PERF_GREP_ENGINES_THREADS +fi + for pattern in \ 'how.to' \ '^how to' \ @@ -39,18 +47,42 @@ do else prereq="" fi - test_perf $prereq "$engine grep$GIT_PERF_7820_GREP_OPTS '$pattern'" " - git -c grep.patternType=$engine grep$GIT_PERF_7820_GREP_OPTS -- '$pattern' >'out.$engine' || : - " - done - - test_expect_success "assert that all engines found the same for$GIT_PERF_7820_GREP_OPTS '$pattern'" ' - test_cmp out.basic out.extended && - if test_have_prereq PCRE + if ! test_have_prereq PERF_GREP_ENGINES_THREADS then - test_cmp out.basic out.perl + test_perf $prereq "$engine grep$GIT_PERF_7820_GREP_OPTS '$pattern'" " + git -c grep.patternType=$engine grep$GIT_PERF_7820_GREP_OPTS -- '$pattern' >'out.$engine' || : + " + else + for threads in $GIT_PERF_GREP_THREADS + do + test_perf PTHREADS,$prereq "$engine grep$GIT_PERF_7820_GREP_OPTS '$pattern' with $threads threads" " + git -c grep.patternType=$engine -c grep.threads=$threads grep$GIT_PERF_7820_GREP_OPTS -- '$pattern' >'out.$engine.$threads' || : + " + done fi - ' + done + + if ! test_have_prereq PERF_GREP_ENGINES_THREADS + then + test_expect_success "assert that all engines found the same for$GIT_PERF_7820_GREP_OPTS '$pattern'" ' + test_cmp out.basic out.extended && + if test_have_prereq PCRE + then + test_cmp out.basic out.perl + fi + ' + else + for threads in $GIT_PERF_GREP_THREADS + do + test_expect_success PTHREADS "assert that all engines found the same for$GIT_PERF_7820_GREP_OPTS '$pattern' under threading" " + test_cmp out.basic.$threads out.extended.$threads && + if test_have_prereq PCRE + then + test_cmp out.basic.$threads out.perl.$threads + fi + " + done + fi done test_done |