git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Very promising results with libpcre2

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 1, 2017, 18:24 UTC
Message-ID
<xmqqbmsgugt4.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CACBZZX416M3YFDAACGAWCjJ4Xt0g78zpFF+iusMCarKb7SSfVw@mail.gmail.com>
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
Show 20 quoted lines
> On Sat, Apr 1, 2017 at 12:48 AM, Junio C Hamano <gitster@pobox.com> wrote:
>> Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
>>
>>> That enables the new JIT support in pcre v2:
>>>
>>>       s/iter    rx fixed   prx
>>> rx      2.19    --  -33%  -44%
>>> fixed   1.47   49%    --  -17%
>>> prx     1.22   79%   20%    --
>>
>> The numbers with JIT does look "interesting".
>>
>> I couldn't quite tell if there are major incompatibilities in the
>> regex language itself between two versions from their documentation,
>> but assuming that there isn't (modulo bugfixes and enhancements) and
>> assuming that we are going to use their standard matcher, it may be
>> OK to just use the newer one without linking both.
>
> There's no incompatibilities in the regex language itself (modulo bugs
> etc). So yeah, I'll prepare some patch to use v2.

Just to make sure that we are on the same page. While I do not see the need to link with both variants and allow users to choose between them at runtime, I do not know if the whole world is ready to drop pcre1 and use pcre2 (the latter of which has only been around for a bit over two years).

So we'd probably want to do 
 (1) keep USE_LIBPCRE and enable v1 when set;
 (2) add USE_LIBPCRE2 and enable v2 when set;
 (3) make sure to error out when both are set.
or something like that.  It is tempting to allow us to say
    make USE_LIBPCRE=2

but the existing builds are likely to be depending on "is it set to anything? then use PCRE1" behaviour, so we unfortunately cannot take that route.

Thanks.
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 4 of 8 in “Very promising results with libpcre2”
  1. Ævar Arnfjörð BjarmasonMar 31, 2017
  2. Junio C HamanoMar 31, 2017
  3. Ævar Arnfjörð BjarmasonApr 1, 2017
  4. Junio C HamanoApr 1, 2017
  5. Ævar Arnfjörð BjarmasonApr 1, 2017
  6. Junio C HamanoApr 2, 2017
  7. Jeffrey WaltonApr 1, 2017
  8. Junio C HamanoApr 2, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.