From: Jeff King <peff@peff.net>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: Martin Langhoff <martin.langhoff@gmail.com>,
Git Mailing List <git@vger.kernel.org>,
Taylor Blau <me@ttaylorr.com>
Subject: Re: git log exclude pathspec from file - supported? plans?
Date: Thu, 1 Jul 2021 17:43:23 -0400 [thread overview]
Message-ID: <YN42+1dN8bML3tQ8@coredump.intra.peff.net> (raw)
In-Reply-To: <YN4zKVK7gvuIZ0vK@coredump.intra.peff.net>
On Thu, Jul 01, 2021 at 05:27:05PM -0400, Jeff King wrote:
> > One of the PCREv2 experiments I had very early WIP work towards was to
> > create a search index for commit messages, contents etc. and stick it in
> > something similar to the --changed-paths part of the commit-graph.
>
> Yeah, to some degree --change-paths may mitigate this, since for a
> series of simple pathspecs we'd generate the bloom filter once and then
> get O(1) matching per commit.
The timings for "git rev-list" I shared earlier were with commit-graphs,
but not with changed-path filters. They don't seem to help much, though.
I suspect the reason is that they can never give a definite answer. They
can only say "probably, yes, this commit is worth looking at". And then
we have to do the same slow, linear pathspec match on that commit. And
if your pathspec contains virtually every path in the first place, then
the answer from the bloom filters will always be "probably, yes".
So I guess they are not really a silver bullet here.
-Peff
prev parent reply other threads:[~2021-07-01 21:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CACPiFCLtj5QF6_Goc5UYh9KHWgkrKtjApL-cCH04S5gdTFyk7Q@mail.gmail.com>
2021-06-30 16:59 ` git log exclude pathspec from file - supported? plans? Martin Langhoff
2021-06-30 17:58 ` Jeff King
2021-06-30 18:22 ` Ævar Arnfjörð Bjarmason
2021-07-01 21:27 ` Jeff King
2021-07-01 21:30 ` [PATCH 1/3] pathspec: add optional trie index Jeff King
2021-07-01 21:30 ` [PATCH 2/3] pathspec: turn on tries when appropriate Jeff King
2021-07-01 21:36 ` [PATCH 3/3] tree-diff: use pathspec tries Jeff King
2021-07-01 21:43 ` Jeff King [this message]
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=YN42+1dN8bML3tQ8@coredump.intra.peff.net \
--to=peff@peff.net \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=martin.langhoff@gmail.com \
--cc=me@ttaylorr.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).