Raw
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