Author: ND
Date:
To: Pcre-dev@exim.org
Subject: [pcre-dev] Huge recursion arrive
Hi, Philip!
Since PCRE 8.11 there is huge perfomance degradation at (?:...)*? and
(?>...)*? constructs.
Some pcretest listings illustrate this:
PCRE version 8.20-RC1 2011-09-12
/a(?:.)*?a/ims
\Mabbbbbbbbbbbbbbbbbbbbba
Minimum match() limit = 65
Minimum match() recursion limit = 24
0: abbbbbbbbbbbbbbbbbbbbba
PCRE version 8.11 2010-12-10
/a(?:.)*?a/ims
\Mabbbbbbbbbbbbbbbbbbbbba
Minimum match() limit = 65
Minimum match() recursion limit = 2
0: abbbbbbbbbbbbbbbbbbbbba
PCRE version 8.20-RC1 2011-09-12
/a(?>.)*?a/ims
\Mabbbbbbbbbbbbbbbbbbbbba
Minimum match() limit = 65
Minimum match() recursion limit = 44
0: abbbbbbbbbbbbbbbbbbbbba
PCRE version 8.11 2010-12-10
/a(?>.)*?a/ims
\Mabbbbbbbbbbbbbbbbbbbbba
Minimum match() limit = 65
Minimum match() recursion limit = 2
0: abbbbbbbbbbbbbbbbbbbbba
This is why my application became unworkable (PCRE_ERROR_RECURSION_LIMIT
is now anywhere)
Is there justification?
Thanx.