From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
"Jeffrey Walton" <noloader@gmail.com>,
"Michał Kiedrowicz" <michal.kiedrowicz@gmail.com>,
"J Smith" <dark.panda@gmail.com>,
"Victor Leschuk" <vleschuk@gmail.com>,
"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
"Fredrik Kuivinen" <frekui@gmail.com>,
"Zoltán Herczeg" <hzmester@freemail.hu>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v2 00/13] PCRE v1 improvements & PCRE v2 support
Date: Wed, 19 Apr 2017 22:40:40 +0000 [thread overview]
Message-ID: <20170419224053.8920-1-avarab@gmail.com> (raw)
It's been a while since I sent v1 of this. I addressed most of the
comments, except:
* grep w/submodules doesn't properly pcre2 to submodule greps.
* The critiqued adding runtime complexity by supporting both pcre1 &
pcre2 via a switch is still there.
I wanted to get something out the door to review the other bits I've
changed sooner than later, so I'm sending it in the state it's in.
Depending on the consensus for those two issues, fixes for those can
easily be addedd on top.
Comments on specific patches:
Ævar Arnfjörð Bjarmason (13):
Firstly, the "git grep --threads=N" patch is missing, that became the
independent "[PATCH v2 0/8] grep threading cleanup & tests"
series. See <20170416222102.2320-1-avarab@gmail.com>.
grep: remove redundant regflags assignment under PCRE
No changes.
Makefile & configure: reword outdated comment about PCRE
Fix comment copy as suggested by JK, and explained the confusing
copy/pasting of Makefile comments to configure.ac in the commit
message.
grep: add a test for backreferences in PCRE patterns
No changes.
log: add exhaustive tests for pattern style options & config
Now using [\d] instead of \((?=1) as a pattern to tell -E and -P
patterns apart, as suggested by JK.
log: add -P as a synonym for --perl-regexp
Uses the [\d] pattern now for a test, no other changes.
grep & rev-list doc: stop promising libpcre for --perl-regexp
No changes.
grep: make grep.patternType=[pcre|pcre1] a synonym for "perl"
Minor grammar fix in commit message.
test-lib: rename the LIBPCRE prerequisite to PCRE
No changes.
grep: change the internal PCRE macro names to be PCRE1
No changes.
grep: change the internal PCRE code & header names to be PCRE1
No changes.
perf: add a performance comparison test of grep -E and -P
NEW: Instead of my huge perl -MBenchmark one-liner I wrote a t/perf/
test for grep engine comparison which I'm citing for subsequent
changes.
grep: add support for the PCRE v1 JIT API
NEW: Adds JIT support for PCRE v1.
grep: add support for PCRE v2
Lots of changes:
- Much smaller and hopefully less confusing commit message &
discussion of performance differences.
- Much improved PCRE v2 API use. The Zoltán Herczeg on the pcre-dev
list helped a lot with that. Now less buggy & more performant.
- Plugged a trivial memory leak I missed in v1.
Ævar Arnfjörð Bjarmason (13):
grep: remove redundant regflags assignment under PCRE
Makefile & configure: reword outdated comment about PCRE
grep: add a test for backreferences in PCRE patterns
log: add exhaustive tests for pattern style options & config
log: add -P as a synonym for --perl-regexp
grep & rev-list doc: stop promising libpcre for --perl-regexp
grep: make grep.patternType=[pcre|pcre1] a synonym for "perl"
test-lib: rename the LIBPCRE prerequisite to PCRE
grep: change the internal PCRE macro names to be PCRE1
grep: change the internal PCRE code & header names to be PCRE1
perf: add a performance comparison test of grep -E and -P
grep: add support for the PCRE v1 JIT API
grep: add support for PCRE v2
Documentation/config.txt | 7 ++
Documentation/git-grep.txt | 4 +-
Documentation/rev-list-options.txt | 6 +-
Makefile | 28 ++++-
configure.ac | 61 +++++++++-
grep.c | 233 ++++++++++++++++++++++++++++++++-----
grep.h | 36 +++++-
revision.c | 2 +-
t/README | 16 ++-
t/perf/p7820-grep-engines.sh | 25 ++++
t/t4202-log.sh | 86 +++++++++++++-
t/t7810-grep.sh | 69 ++++++++---
t/t7812-grep-icase-non-ascii.sh | 4 +-
t/t7813-grep-icase-iso.sh | 11 +-
t/test-lib.sh | 4 +-
15 files changed, 516 insertions(+), 76 deletions(-)
create mode 100755 t/perf/p7820-grep-engines.sh
--
2.11.0
next reply other threads:[~2017-04-19 22:41 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-19 22:40 Ævar Arnfjörð Bjarmason [this message]
2017-04-19 22:40 ` [PATCH v2 01/13] grep: remove redundant regflags assignment under PCRE Ævar Arnfjörð Bjarmason
2017-04-19 22:40 ` [PATCH v2 02/13] Makefile & configure: reword outdated comment about PCRE Ævar Arnfjörð Bjarmason
2017-04-19 22:40 ` [PATCH v2 03/13] grep: add a test for backreferences in PCRE patterns Ævar Arnfjörð Bjarmason
2017-04-19 22:40 ` [PATCH v2 04/13] log: add exhaustive tests for pattern style options & config Ævar Arnfjörð Bjarmason
2017-04-19 22:40 ` [PATCH v2 05/13] log: add -P as a synonym for --perl-regexp Ævar Arnfjörð Bjarmason
2017-04-19 22:40 ` [PATCH v2 06/13] grep & rev-list doc: stop promising libpcre " Ævar Arnfjörð Bjarmason
2017-04-19 22:40 ` [PATCH v2 07/13] grep: make grep.patternType=[pcre|pcre1] a synonym for "perl" Ævar Arnfjörð Bjarmason
2017-04-19 22:40 ` [PATCH v2 08/13] test-lib: rename the LIBPCRE prerequisite to PCRE Ævar Arnfjörð Bjarmason
2017-04-19 22:40 ` [PATCH v2 09/13] grep: change the internal PCRE macro names to be PCRE1 Ævar Arnfjörð Bjarmason
2017-04-19 22:40 ` [PATCH v2 10/13] grep: change the internal PCRE code & header " Ævar Arnfjörð Bjarmason
2017-04-19 22:40 ` [PATCH v2 11/13] perf: add a performance comparison test of grep -E and -P Ævar Arnfjörð Bjarmason
2017-04-19 22:40 ` [PATCH v2 12/13] grep: add support for the PCRE v1 JIT API Ævar Arnfjörð Bjarmason
2017-04-19 22:40 ` [PATCH v2 13/13] grep: add support for PCRE v2 Ævar Arnfjörð Bjarmason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170419224053.8920-1-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=dark.panda@gmail.com \
--cc=frekui@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=hzmester@freemail.hu \
--cc=michal.kiedrowicz@gmail.com \
--cc=noloader@gmail.com \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
--cc=vleschuk@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).