On Sun, 25 Sep 2022 at 16:32:21 +0100, Simon McVittie wrote:
> A breakdown of the time to run autopkgtest's autopkgtests in a qemu VM,
> excluding time taken to install dependencies:

Updated for 5.44, on similar hardware although perhaps not entirely
apples-to-apples:

> - autopkgtest (NullRunner, ChrootRunner, etc.): 3 minutes

4 minutes

> - installed (a smoke-test): < 1 minute

< 1 minute

> - docker: 32 minutes

20 minutes

> - lxc: 16 minutes

53 minutes (!)

> - lxd: 45 minutes

18 minutes

> - podman: 41 minutes

20 minutes

> - podman-init: 20 minutes

13 minutes

> - schroot: 96 minutes (!)

7 minutes (schroot used to be notably slow, but it seems that using
eatmydata throughout has made a huge difference to this one)

> - unshare: 9 minutes

5 minutes

There might be some randomness here: I don't know why lxc was so much
slower now than before, while most of the others were significantly faster.

I also don't understand why podman is still slower than podman-init, when
podman-init does more work (podman just runs sleep(1) or a minimal reaper
or something as pid 1, similar to docker, whereas podman-init runs a full
operating system from systemd upwards).

Paride's work on applying eatmydata to schroot seems to have been a
huge win. Can someone perhaps give lxc a similar treatment?

> I want to see whether we can run the unshare test (currently marked with
> isolation-machine) in lxc containers like the ones used by debci. If we
> can, then I'm inclined to use UnshareRunner for all the test coverage
> that can't be done by NullRunner or ChrootRunner, use lxc or podman-init
> for all the test coverage that needs an init system, and limit docker,
> lxd, podman and schroot to a relatively simple smoke-test (plus targeted
> tests for things that are known to have regressed for those backends).

Merge requests very welcome for anything moving in this direction.

    smcv

Reply via email to