On Fri, Jun 2, 2017 at 6:10 PM, Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote: > Hi, > > On Fri, 2 Jun 2017, Junio C Hamano wrote: > >> Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: >> >> > See <20170525200528.22037-1-avarab@xxxxxxxxx> for v3 >> > (https://public-inbox.org/git/20170525200528.22037-1-avarab@xxxxxxxxx/). >> > >> > This is on top of "[PATCH v4 00/31] Easy to review grep & pre-PCRE >> > changes". >> > >> > Changes: >> > >> > Ævar Arnfjörð Bjarmason (8): >> > grep: don't redundantly compile throwaway patterns under threading >> > grep: skip pthreads overhead when using one thread >> > log: add -P as a synonym for --perl-regexp >> > grep: add support for the PCRE v1 JIT API >> > grep: un-break building with PCRE < 8.32 >> > grep: un-break building with PCRE < 8.20 >> > >> > No changes. >> > >> > grep: un-break building with PCRE >= 8.32 without --enable-jit >> > >> > NEW: It turns out that a PCRE version that supports JIT, but is built >> > without JIT support will fail at link time since there's no >> > pcre_jit_exec symbol. >> > >> > It also turns out (contrary to what I claimed on list before, my >> > mistake) that there's no way to detect this through some macro. All >> > the pcre include files are the same with/without --enable-jit, only >> > the object file differs. >> > >> > So there's now a NO_LIBPCRE1_JIT flag to the Makefile, which is off by >> > default, but turned on on MinGW. I have not tested that >> > config.mak.uname change, but everything else I could test on Linux. >> > >> > The reason for why it's NO_LIBPCRE1_JIT not USE_LIBPCRE1_JIT is that >> > in practice pretty much everyone who builds pcre builds it with JIT >> > (I've looked through various Linux/BSD distro build files), it's MinGW >> > that's the exception here. Given the performance gain it makes sense >> > to make it the default. >> > >> > grep: add support for PCRE v2 >> > >> > Almost no changes, just: >> > >> > * A trivial change to stop redundantly assigning to pcre2_jit_on, >> > mistakenly left over from an earlier version. >> > >> > * Updated commit message / perf numbers for the extra patches in the >> > series both here and in v3. >> >> Nicely summarised and matches what I received; thanks, will replace. > > For the record: I spent the entire development time I had today on trying > to get PCRE2 to build and to figure out which PCRE2 tests fail and why. > > I hoped to get to the bottom why the JIT is disabled in PCRE1, but ran out > of time. > > I seem to have gotten PCRE2 to build and figured out why the tests failed > (spoiler: all of the failures were bogus and no indication of an > incorrectly-built PCRE2). > > I barely had time to build `pu` (forcing PCRE2) and to run the test > scripts whose file names contain the substring "grep". Seems to work so > far, but this is by no means comprehensive testing; it is more like hushed > and rushed testing on a Friday night when I should have stopped working 10 > minutes ago. > > Will continue with testing Git for Windows using PCRE2 next week and keep > you posted, Thanks a lot for testing it. Great to hear that it (definitely almost) works! If the grep tests it's very likely that all of them will pass, the only tests I run when developing this series (outside of the full run for list submission) are t[0-9]*grep*.sh t[0-9]*log*.sh tests, since those are the only ones impacted by it.