[pcre-dev] Huge recursion arrive

Top Page
Delete this message
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.