| 1 | #!/bin/sh |
| 2 | |
| 3 | test_description="git-grep's perl regex |
| 4 | |
| 5 | If GIT_PERF_GREP_THREADS is set to a list of threads (e.g. '1 4 8' |
| 6 | etc.) we will test the patterns under those numbers of threads. |
| 7 | " |
| 8 | |
| 9 | . ./perf-lib.sh |
| 10 | |
| 11 | test_perf_large_repo |
| 12 | test_checkout_worktree |
| 13 | |
| 14 | if test -n "$GIT_PERF_GREP_THREADS" |
| 15 | then |
| 16 | test_set_prereq PERF_GREP_ENGINES_THREADS |
| 17 | fi |
| 18 | |
| 19 | for pattern in \ |
| 20 | '\\bhow' \ |
| 21 | '\\bÆvar' \ |
| 22 | '\\d+ \\bÆvar' \ |
| 23 | '\\bBelón\\b' \ |
| 24 | '\\w{12}\\b' |
| 25 | do |
| 26 | echo '$pattern' >pat |
| 27 | if ! test_have_prereq PERF_GREP_ENGINES_THREADS |
| 28 | then |
| 29 | test_perf "grep -P '$pattern'" --prereq PCRE " |
| 30 | git -P grep -f pat || : |
| 31 | " |
| 32 | else |
| 33 | for threads in $GIT_PERF_GREP_THREADS |
| 34 | do |
| 35 | test_perf "grep -P '$pattern' with $threads threads" --prereq PTHREADS,PCRE " |
| 36 | git -c grep.threads=$threads -P grep -f pat || : |
| 37 | " |
| 38 | done |
| 39 | fi |
| 40 | done |
| 41 | |
| 42 | test_done |