]>
Commit | Line | Data |
---|---|---|
bc22d813 ÆAB |
1 | #!/bin/sh |
2 | ||
3 | test_description="Comparison of git-grep's regex engines with -F | |
4 | ||
5 | Set GIT_PERF_7821_GREP_OPTS in the environment to pass options to | |
6 | git-grep. Make sure to include a leading space, | |
7 | e.g. GIT_PERF_7821_GREP_OPTS=' -w'. See p7820-grep-engines.sh for more | |
8 | options to try. | |
7b31b55d ÆAB |
9 | |
10 | If GIT_PERF_7821_THREADS is set to a list of threads (e.g. '1 4 8' | |
11 | etc.) we will test the patterns under those numbers of threads. | |
bc22d813 ÆAB |
12 | " |
13 | ||
14 | . ./perf-lib.sh | |
15 | ||
16 | test_perf_large_repo | |
17 | test_checkout_worktree | |
18 | ||
7b31b55d ÆAB |
19 | if test -n "$GIT_PERF_GREP_THREADS" |
20 | then | |
21 | test_set_prereq PERF_GREP_ENGINES_THREADS | |
22 | fi | |
23 | ||
bc22d813 ÆAB |
24 | for pattern in 'int' 'uncommon' 'æ' |
25 | do | |
26 | for engine in fixed basic extended perl | |
27 | do | |
28 | if test $engine = "perl" && ! test_have_prereq PCRE | |
29 | then | |
30 | prereq="PCRE" | |
31 | else | |
32 | prereq="" | |
33 | fi | |
7b31b55d | 34 | if ! test_have_prereq PERF_GREP_ENGINES_THREADS |
bc22d813 | 35 | then |
7b31b55d ÆAB |
36 | test_perf $prereq "$engine grep$GIT_PERF_7821_GREP_OPTS $pattern" " |
37 | git -c grep.patternType=$engine grep$GIT_PERF_7821_GREP_OPTS $pattern >'out.$engine' || : | |
38 | " | |
39 | else | |
40 | for threads in $GIT_PERF_GREP_THREADS | |
41 | do | |
42 | test_perf PTHREADS,$prereq "$engine grep$GIT_PERF_7821_GREP_OPTS $pattern with $threads threads" " | |
43 | git -c grep.patternType=$engine -c grep.threads=$threads grep$GIT_PERF_7821_GREP_OPTS $pattern >'out.$engine.$threads' || : | |
44 | " | |
45 | done | |
bc22d813 | 46 | fi |
7b31b55d ÆAB |
47 | done |
48 | ||
49 | if ! test_have_prereq PERF_GREP_ENGINES_THREADS | |
50 | then | |
51 | test_expect_success "assert that all engines found the same for$GIT_PERF_7821_GREP_OPTS $pattern" ' | |
52 | test_cmp out.fixed out.basic && | |
53 | test_cmp out.fixed out.extended && | |
54 | if test_have_prereq PCRE | |
55 | then | |
56 | test_cmp out.fixed out.perl | |
57 | fi | |
58 | ' | |
59 | else | |
60 | for threads in $GIT_PERF_GREP_THREADS | |
61 | do | |
62 | test_expect_success PTHREADS "assert that all engines found the same for$GIT_PERF_7821_GREP_OPTS $pattern under threading" " | |
63 | test_cmp out.fixed.$threads out.basic.$threads && | |
64 | test_cmp out.fixed.$threads out.extended.$threads && | |
65 | if test_have_prereq PCRE | |
66 | then | |
67 | test_cmp out.fixed.$threads out.perl.$threads | |
68 | fi | |
69 | " | |
70 | done | |
71 | fi | |
bc22d813 ÆAB |
72 | done |
73 | ||
74 | test_done |