On 23/08/2019 07:23, Vlad Khorsun wrote:
> 20.08.2019 4:26, Adriano dos Santos Fernandes wrote:
>> Hi!
>>
>> When linking optimized static build of re2 with Firebird
>
>   Adriano, could you explain, please, - why you choose RE2 for
> re-implemenation of
> regexp support ? Why not ICU, for example ? There are more free
> implemenations (such
> as PCRE, boost) but ICU is already used by the Firebird and it seems
> logical to use
> already known\used library.
>

Because ICU, boost (regex and xpressive), PCRE and almost every other
regex engine are susceptible to the same problems we had on my own coded
version: some expressions produces exponential time complexity that
kills engine even with small texts being matched.

On the other hand, RE2 is based on different theory. Complexity is
linear based on text length.


>   Also, could you confirm that you implemented regexp parser to
> re-write user expressions
> written using SQL-regexp dialect to the RE2-dialect, correct ?
>
Yes, of course. It only introduced a limitation where constrained
repetitions {x,n} could not be greater than 1000. As our current version
is not good (performance) with it, it should not be a real problem.


Adriano



Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to