From: Derrick Stolee <stolee@gmail.com>
To: Nathaniel Filardo <nwf20@cl.cam.ac.uk>, git@vger.kernel.org
Cc: Derrick Stolee <dstolee@microsoft.com>
Subject: Re: [PATCH 2/4] revision walk: optionally use sparse reachability
Date: Tue, 12 Mar 2019 09:59:46 -0400
Message-ID: <b414cb29-05a2-333e-f734-540eb0d1eaa4@gmail.com> (raw)
In-Reply-To: <20190312131858.26115-3-nwf20@cl.cam.ac.uk>
On 3/12/2019 9:18 AM, Nathaniel Filardo wrote:
> The only caller that passes a non-zero value to prepare_revision_walk
> after this patch is builtin/pack-objects. Without this, sparsity seems
> to do little good therein, as prepare_revision_walk will densely
> propagate UNINTERESTING flags from trees to tree contents, before
> mark_edges_uninteresting has a chance to be faster by being sparse.
>
> Signed-off-by: Nathaniel Filardo <nwf20@cl.cam.ac.uk>
> ---
> bisect.c | 2 +-
> blame.c | 2 +-
> builtin/checkout.c | 2 +-
> builtin/commit.c | 2 +-
> builtin/describe.c | 2 +-
> builtin/fast-export.c | 2 +-
> builtin/fmt-merge-msg.c | 2 +-
> builtin/log.c | 10 +++++-----
> builtin/merge.c | 2 +-
> builtin/pack-objects.c | 4 ++--
> builtin/rev-list.c | 2 +-
> builtin/shortlog.c | 2 +-
> bundle.c | 2 +-
> http-push.c | 2 +-
> merge-recursive.c | 2 +-
> pack-bitmap-write.c | 2 +-
> pack-bitmap.c | 4 ++--
> reachable.c | 4 ++--
> ref-filter.c | 2 +-
> remote.c | 2 +-
> revision.c | 10 ++++++----
> revision.h | 2 +-
> sequencer.c | 6 +++---
> shallow.c | 2 +-
> submodule.c | 4 ++--
> t/helper/test-revision-walking.c | 2 +-
> 26 files changed, 41 insertions(+), 39 deletions(-)
This patch is very noisy. Perhaps the pattern established in 4f6d26b1:
"list-objects: consume sparse tree walk" should be reversed and instead
include a 'sparse_tree_walk' setting into 'struct rev_info'.
Changing so many method prototypes is rather invasive and unlikely to
benefit many of these callers.
If the setting is added to 'struct rev_info', then you'll want to remove
the parameter from mark_edges_uninteresting().
Thanks,
-Stolee
next prev parent reply other threads:[~2019-03-12 13:59 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-12 13:18 [PATCH 0/4] Speed up repacking when lots of pack-kept objects Nathaniel Filardo
2019-03-12 13:18 ` [PATCH 1/4] count-objects: report statistics about kept packs Nathaniel Filardo
2019-03-12 13:18 ` [PATCH 2/4] revision walk: optionally use sparse reachability Nathaniel Filardo
2019-03-12 13:59 ` Derrick Stolee [this message]
2019-03-12 13:18 ` [PATCH 3/4] repack: add --sparse and pass to pack-objects Nathaniel Filardo
2019-03-12 13:47 ` Derrick Stolee
2019-03-12 14:03 ` Dr N.W. Filardo
2019-03-12 13:18 ` [PATCH 4/4] repack: optionally assume transitive kept packs Nathaniel Filardo
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=b414cb29-05a2-333e-f734-540eb0d1eaa4@gmail.com \
--to=stolee@gmail.com \
--cc=dstolee@microsoft.com \
--cc=git@vger.kernel.org \
--cc=nwf20@cl.cam.ac.uk \
/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
git@vger.kernel.org list mirror (unofficial, one of many)
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://public-inbox.org/git
git clone --mirror http://ou63pmih66umazou.onion/git
git clone --mirror http://czquwvybam4bgbro.onion/git
git clone --mirror http://hjrcffqmbrq6wope.onion/git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V1 git git/ https://public-inbox.org/git \
git@vger.kernel.org
public-inbox-index git
Example config snippet for mirrors.
Newsgroups are available over NNTP:
nntp://news.public-inbox.org/inbox.comp.version-control.git
nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git
nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git
nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git
nntp://news.gmane.io/gmane.comp.version-control.git
note: .onion URLs require Tor: https://www.torproject.org/
code repositories for the project(s) associated with this inbox:
https://80x24.org/mirrors/git.git
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git