On Wed, 18 Jan 2017 10:48:18 +0100
Dirkjan Ochtman <d...@gentoo.org> wrote:

> This doesn't ring intuitively true for me. Maybe you're talking about
> running a "repoman full" for every committed package; I'm not. The
> checks Doug describes are all package-local. What makes this process
> so expensive?

Even on a per-package basis it can be expensive, and how expensive it is
gets worse the more dependencies you have.

And its really not worth it to me to penalise every developer with that overhead
on every push simply because a subset of the developers don't want to execute 
that code locally.

That seems like trading decentralised effort for a centralised and shared 
bottleneck.

As it was, I had a push today take more than 15 seconds and I started to worry 
something was wrong.

Centralised effort like that is only of benefit IME if it doesn't contribute to 
a bottleneck
or impede the workflow.

Though I admit a carefully constructed subset of repomans checks could be fast 
enough.

eg: If at all possible, I'd want those tests we need done to be executable 
without needing
to source the ebuild or any of the profiles.

Things like MANIFEST checking and metadata.xml validation can probably be done 
without this
as long as people do it right.


/dev-perl/Dist-Zilla $ time repoman manifest-check
real   0m1.120s
user   0m1.020s
sys    0m0.100s
cpu    99.98%

But actual checking is really bad with a cold cache ( and I seem to always have 
a cold cache because
web browsers are made of bloat )

/dev-perl/Dist-Zilla $ time repoman full --include-arches amd64

real   0m51.698s
user   0m8.890s
sys    0m7.898s
cpu    32.47%

Warm cache:

real   0m5.087s
user   0m4.413s
sys    0m1.815s
cpu    122.42%

Warm cache + multiple arches: 

real   0m7.469s
user   0m6.566s
sys    0m1.893s
cpu    113.24%


I guess it can't be slower than CVS .... but ideally, you want the git commit 
window
to be as fast as possible to minimise the chance of contention.

Attachment: pgpVNG590AoCg.pgp
Description: OpenPGP digital signature

Reply via email to