Subject: Re: [PATCH v2 08/11] test-tool synthesize: precompute pack for 4 GiB + 1

From: Johannes Schindelin <[email-masked]>
Date: Tue, 5 May 2026 22:54:59 +0200 (CEST)

Hi Stolee,

On Tue, 5 May 2026, Derrick Stolee wrote:

> On 5/4/2026 1:08 PM, Johannes Schindelin via GitGitGadget wrote:
> > From: Johannes Schindelin <[email-masked]>
> 
> > Benchmarks generating a 4 GiB + 1 pack (3 runs each, SHA1DC on
> > x86_64):
> > 
> >   generic path:   88s / 81s / 140s
> >   fast path:      14s / 13s / 15s
> > 
> > On CI, where t5608 currently takes 200-850 seconds depending on the
> > job, the fast path cuts the pack-generation phase from minutes to
> > seconds, leaving only the clone operations themselves.
> 
> Are these numbers accurate for the patch position in the series?

Unfortunately, yes.

> The previous change replaced SHA1DC with the unsafe version, which
> gained similar performance improvements. I'd be interested to see
> the numbers for both enabled at the same time.

The problem is that in many (most?) cases, the "unsafe" version is the
_same_ as the safe version, i.e. SHA1DC. Only the `linux-TEST-vars` job on
CI (and most notably, _not_ in the `win-*` jobs) has a fast "unsafe"
version by default. So if I build the revision as per the previous patch
on Windows, I get no performance benefit whatsoever. That's what my lament
about not being able to link OpenSSL was all about.

Ciao,
Johannes