[pcre-dev] [Bug 1348] New: very slow execution of some non-m…

Pàgina inicial
Delete this message
Autor: Miklos Tirpak
Data:  
A: pcre-dev
Assumpte: [pcre-dev] [Bug 1348] New: very slow execution of some non-matching patterns
------- 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