This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: That light at the end of the tunnel?
- From: Joseph Myers <joseph at codesourcery dot com>
- To: "Richard Earnshaw (lists)" <Richard dot Earnshaw at arm dot com>
- Cc: "Eric S. Raymond" <esr at thyrsus dot com>, GCC Development <gcc at gcc dot gnu dot org>, <fallenpegasus at gmail dot com>
- Date: Mon, 23 Jul 2018 14:53:09 +0000
- Subject: Re: That light at the end of the tunnel?
- References: <20180721020451.8E1C43A4AA7@snark.thyrsus.com> <4dfb8f7e-8c61-0114-f607-774a7ee59625@arm.com>
On Mon, 23 Jul 2018, Richard Earnshaw (lists) wrote:
> So traditional git bisect is inherently serial, but we can be more
> creative here, surely. A single run halves the search space each time.
> But three machines working together can split it into 4 each run, 7
> machines into 8, etc. You don't even need a precise 2^N - 1 to get a
> speedup.
Exactly. Given an appropriate recipe for testing whether the conversion
of history up to a given revision is OK or not, I can run tests in
parallel for nine different revisions on nine different machines (each
with 128 GB memory) at the same time as easily as running one such test.
(And the conversions for shorter initial segments of history should be
faster, so if the bug turns out to relate to conversion of cvs2svn scar
tissue, you don't even need to wait for the conversions of longer portions
of history to complete before you've narrowed down where the bug is and
can start another such bisection.)
I think parallelising the bisection process is a better approach than
trying to convert only a subset of branches (which I don't think would
help with the present problem - though we can always consider killing
selected branches with too many mid-branch deletealls, if appropriate) or
waiting for a move to Go.
--
Joseph S. Myers
joseph@codesourcery.com