git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/8] PCRE v2, PCRE v1 JIT, log -P & fixes
@ 2017-06-01 18:20 Ævar Arnfjörð Bjarmason
  2017-06-01 18:20 ` [PATCH v4 1/8] grep: don't redundantly compile throwaway patterns under threading Ævar Arnfjörð Bjarmason
                   ` (8 more replies)
  0 siblings, 9 replies; 22+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2017-06-01 18:20 UTC (permalink / raw)
  To: git
  Cc: Junio C Hamano, Jeff King, Jeffrey Walton, Michał Kiedrowicz,
	J Smith, Victor Leschuk, Nguyễn Thái Ngọc Duy,
	Fredrik Kuivinen, Brandon Williams, Stefan Beller,
	Johannes Schindelin, Ævar Arnfjörð Bjarmason

See <20170525200528.22037-1-avarab@gmail.com> for v3
(https://public-inbox.org/git/20170525200528.22037-1-avarab@gmail.com/).

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.

 Documentation/rev-list-options.txt |   1 +
 Makefile                           |  49 ++++++++--
 builtin/grep.c                     |  16 +++-
 config.mak.uname                   |   1 +
 configure.ac                       |  77 ++++++++++++---
 grep.c                             | 185 ++++++++++++++++++++++++++++++++++++-
 grep.h                             |  33 +++++++
 revision.c                         |   2 +-
 t/t4202-log.sh                     |  12 +++
 t/test-lib.sh                      |   2 +-
 10 files changed, 349 insertions(+), 29 deletions(-)

-- 
2.13.0.303.g4ebf302169


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2017-06-09 13:09 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-01 18:20 [PATCH v4 0/8] PCRE v2, PCRE v1 JIT, log -P & fixes Ævar Arnfjörð Bjarmason
2017-06-01 18:20 ` [PATCH v4 1/8] grep: don't redundantly compile throwaway patterns under threading Ævar Arnfjörð Bjarmason
2017-06-01 18:20 ` [PATCH v4 2/8] grep: skip pthreads overhead when using one thread Ævar Arnfjörð Bjarmason
2017-06-01 21:20   ` Stefan Beller
2017-06-01 21:36     ` Ævar Arnfjörð Bjarmason
2017-06-01 21:38       ` Ævar Arnfjörð Bjarmason
2017-06-01 21:45         ` Stefan Beller
2017-06-01 21:55           ` Ævar Arnfjörð Bjarmason
2017-06-01 22:08             ` Stefan Beller
2017-06-01 18:20 ` [PATCH v4 3/8] log: add -P as a synonym for --perl-regexp Ævar Arnfjörð Bjarmason
2017-06-01 18:20 ` [PATCH v4 4/8] grep: add support for the PCRE v1 JIT API Ævar Arnfjörð Bjarmason
2017-06-01 18:20 ` [PATCH v4 5/8] grep: un-break building with PCRE < 8.32 Ævar Arnfjörð Bjarmason
2017-06-01 18:20 ` [PATCH v4 6/8] grep: un-break building with PCRE < 8.20 Ævar Arnfjörð Bjarmason
2017-06-01 18:20 ` [PATCH v4 7/8] grep: un-break building with PCRE >= 8.32 without --enable-jit Ævar Arnfjörð Bjarmason
2017-06-01 18:20 ` [PATCH v4 8/8] grep: add support for PCRE v2 Ævar Arnfjörð Bjarmason
2017-06-01 23:30 ` [PATCH v4 0/8] PCRE v2, PCRE v1 JIT, log -P & fixes Junio C Hamano
2017-06-02 16:10   ` Johannes Schindelin
2017-06-02 16:45     ` Ævar Arnfjörð Bjarmason
2017-06-05  0:38       ` Junio C Hamano
2017-06-07 15:50         ` Johannes Schindelin
2017-06-07 16:14           ` Ævar Arnfjörð Bjarmason
2017-06-09 13:09             ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).