------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1288
           Summary: Performance issue using C++ interface with UTF-8 enabled
           Product: PCRE
           Version: N/A
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: bug
          Priority: high
         Component: Code
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]


In RE::TryMatch method at pcrecpp.cc line 524 (in version 8.31) exec options
defaults to 0 and later only PCRE_ANCHORED and PCRE_NOTEMPTY can be added. This
way there is no way to set PCRE_NO_UTF8_CHECK flag in exec options which can
cause serious performance issues processing large files.

My suggested patch is changing line 

    int options = 0;

to

    int options = (options_.all_options() & PCRE_NO_UTF8_CHECK);

This way no interface modification is required and UTF-8 checking automatically
skipped if user has set the PCRE_NO_UTF8_CHECK in RE class. Not setting this in
RE will cause minimal performance loss during regexp parsing and keeps exec
safe.


-- 
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email

-- 
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev 

Reply via email to