All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] pack-bitmap: avoid traversal of objects referenced by uninteresting tag
Date: Mon, 22 Mar 2021 13:16:49 +0100	[thread overview]
Message-ID: <YFiKqf8P0XVSca8L@ncase> (raw)
In-Reply-To: <xmqqk0q4ov95.fsf@gitster.g>

[-- Attachment #1: Type: text/plain, Size: 1080 bytes --]

On Thu, Mar 18, 2021 at 05:13:58PM -0700, Junio C Hamano wrote:
> Patrick Steinhardt <ps@pks.im> writes:
> 
> > While most benchmarks are probably in the range of noise, the newly
> > added 5310.8 benchmark shows a performance improvement of 25600%.
> 
> which sounds impressive, but ...
> 
> > +test_perf 'rev-list with negation (objects)' '
> > +	git rev-list --not --all --use-bitmap-index --objects >/dev/null
> > +'
> 
> ... is this an interesting use case to begin with, without any
> positive end?

Not at all, but it's easy enough to end up with something similar. E.g.
`git rev-list $TAG --not --all` wouldn't typically show anything at all
if `$TAG` is covered by a revision either, but it shows the same
speedup.

I've changed the benchmark to be a bit more realistic here. I've also
added a second benchmark which shows a modest 16-20% speedup when using
`git rev-list HEAD --not $TAG`, where `HEAD` and `$TAG` point to the
same commit. There's probably other cases that may show speedups, but I
hope those are good enough for now.

Patrick

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2021-03-22 12:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-17 15:11 [PATCH] pack-bitmap: avoid traversal of objects referenced by uninteresting tag Patrick Steinhardt
2021-03-19  0:13 ` Junio C Hamano
2021-03-22 12:16   ` Patrick Steinhardt [this message]
2021-03-22 12:19 ` [PATCH v2] " Patrick Steinhardt

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YFiKqf8P0XVSca8L@ncase \
    --to=ps@pks.im \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.