slowest tap tests - split or accelerate?

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-hackers(at)postgresql(dot)org
Subject: slowest tap tests - split or accelerate?
Date: 2021-12-31 19:25:28
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


cfbot now runs most tests on windows, the windows task is by far the slowest,
and the task limitted most in concurrency [2]. Running tap tests is the
biggest part of that. This is a bigger issue on windows because we don't have
infrastructure (yet) to run tests in parallel.

There's a few tests which stand out in their slowness, which seem worth
addressing even if we tackle test parallelism on windows at some point. I
often find them to be the slowest tests on linux too.

Picking a random successful cfbot run [1] I see the following tap tests taking
more than 20 seconds:

67188 ms pg_basebackup t/
59710 ms recovery t/
57542 ms pg_rewind t/
56179 ms subscription t/
42146 ms pgbench t/
38264 ms recovery t/
33642 ms subscription t/
29129 ms pg_dump t/
25751 ms pg_verifybackup t/
20628 ms subscription t/

It would be good if we could make those tests faster, or if not easily
possible, at least split those tests into smaller tap tests.

Splitting a longer test into smaller ones is preferrable even if they take the
same time, because we can use prove level concurrency on windows to gain some
test parallelism. As a nice side-effect it makes it also quicker to run a
split test isolated during development.


Andres Freund



Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2021-12-31 21:26:37 Re: Use generation context to speed up tuplesorts
Previous Message Rémi Lapeyre 2021-12-31 17:36:33 Re: Add header support to text format and matching feature