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