-
-
Notifications
You must be signed in to change notification settings - Fork 458
Description
With the release of coverage 6.1.1 coverage now ships musllinux_1_1 wheels so that users don't need to compile on musl-derived distributions. This is great! However, the cryptography project has seen a massive performance regression with these wheels in our CI.
coverage 6.1 compiled in an alpine-latest container running our test suite: 215.89s (0:03:35)
coverage 6.1.1 using the musllinux_1_1 wheel in the same container: 842.11s (0:14:02)
While the exact timings, of course, vary, the magnitude of slowdown is consistent. Locally I tested this by installing 6.1.1 with --no-binary coverage and the performance problem went away.
To Reproduce
This should be reproducible with alpine-latest (which has python 3.9 at this time) and any project with a reasonably large test suite, but you can directly reproduce it with cryptography's own runner if you'd like:
docker pull ghcr.io/pyca/cryptography-runner-alpine
docker run --rm -ti ghcr.io/pyca/cryptography-runner-alpine /bin/sh
<in the container>
git clone --depth=1 https://github.com/pyca/cryptography && cd cryptography && tox -e py39 -vvv