Subject: Re: [PATCH 1/1] commit-graph.c: avoid unnecessary tag dereference when merging

From: SZEDER Gábor <[email-masked]>
Date: Sun, 22 Mar 2020 12:04:24 +0100

On Sun, Mar 22, 2020 at 01:36:35AM -0400, Jeff King wrote:
> The "--input=none" option
> isn't "no input"; it's actually "take all existing graphed objects as
> input" (i.e., it implies --append). So each of those objects will
> already have been examined in an earlier stage.

Yeah, we discussed it earlier that '--input=none' doesn't properly
describe what it tries to accomplish, and suggested '--input=exists'
(or was it 'existing'?) instead.

> > Where the last step is taking all commits listed in any pack, which is
> > cheap to iterate.
> 
> I'm not sure it's all that cheap. It has to find the type of every
> object in every pack. And finding types involves walking delta chains.

Indeed, that's just about the most expensive way to find all commits,
in my experience it can be well over a magnitude slower than
'--reachable'.