------- You are receiving this mail because: -------
You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=1348
Summary: very slow execution of some non-matching patterns
Product: PCRE
Version: 8.32
Platform: x86-64
OS/Version: Linux
Status: NEW
Severity: bug
Priority: high
Component: Code
AssignedTo: ph10@???
ReportedBy: miklos@???
CC: pcre-dev@???
Consider the following 5 patterns, they differ only at the end:
1. "^([0-9a-fA-F#\*]+[\-\.\(\)]?)*[0-9a-fA-F#\*]+asd1$"
2. "^([0-9a-fA-F#\*]+[\-\.\(\)]?)*[0-9a-fA-F#\*]+asd2$"
3. "^([0-9a-fA-F#\*]+[\-\.\(\)]?)*[0-9a-fA-F#\*]+asd3$"
4. "^([0-9a-fA-F#\*]+[\-\.\(\)]?)*[0-9a-fA-F#\*]+asd4$"
5. "^([0-9a-fA-F#\*]+[\-\.\(\)]?)*[0-9a-fA-F#\*]+asd5$"
The input string is the same in each case, "9999999992250999", none of the
patterns match.
When I try to match the following patterns on the input string and measure the
execution time, the 2nd and the 5th execution takes very long. The results are
for 1000 executions in a loop:
1. 71 usec
2. 7826846 usec
3. 71 usec
4. 71 usec
5. 7867441 usec
Setting PCRE_EXTRA_MATCH_LIMIT to 300000 results in PCRE_ERROR_MATCHLIMIT in
the second case, i.e. the match() function is called over 300000 times.
Please let me know if you need more information.
--
Configure bugmail:
http://bugs.exim.org/userprefs.cgi?tab=email