This is the spiritual successor to the "grep: add ability to disable
threading with --threads=0 or grep.threads=0" patch I submitted as
part of my PCRE series (<20170408132506.5415-2-ava...@gmail.com>).

There's a long back & forth thread between me and Jeff King as a
follow-up to that which I'll summarize: I'd misunderstood what
--threads=1 does, because I was tracing how often a pattern was
compiled, and observing that even with --threads=1 we'd compile the
pattern twice.

This series fixes that redundant needless compilation in 3/8, skips
pthread overhead as Jeff suggested kin 3/8. The rest of the patches
are a bunch of small related fixes I noticed along the way.

Ævar Arnfjörð Bjarmason (8):
  grep: assert that threading is enabled when calling grep_{lock,unlock}
  grep: add tests for --threads=N and grep.threads
  grep: don't redundantly compile throwaway patterns under threading
  grep: skip pthreads overhead when using one thread
  tests: add a PTHREADS prerequisite
  pack-object & index-pack: add test for --threads warning under
    NO_PTHREADS
  pack-objects: fix buggy warning about threads under
    NO_PTHREADS=YesPlease
  grep: given --threads with NO_PTHREADS=YesPlease, warn

 Makefile               |  1 +
 builtin/grep.c         | 32 +++++++++++++++++++++++++-------
 builtin/pack-objects.c |  4 +++-
 t/README               |  4 ++++
 t/t5300-pack-object.sh | 33 +++++++++++++++++++++++++++++++++
 t/t7810-grep.sh        | 34 ++++++++++++++++++++++++++++++++++
 t/test-lib.sh          |  1 +
 7 files changed, 101 insertions(+), 8 deletions(-)

-- 
2.11.0

Reply via email to