Guides
Why QEMU arm64 builds are so slow
Adding linux/arm64 to a Docker build makes it twenty times slower.
4 min read
Adding linux/arm64 to a Docker build makes it twenty times slower.
Why it happens
QEMU interprets every arm64 instruction on x64 hardware. Running a compiler under that is catastrophic.
How to fix it
- Build arm64 on native arm64 hardware and merge manifests
- Keep QEMU only for images that copy files and do not compile
- Measure both — the difference is usually larger than people expect
Your next build could be twice as fast, at half the price
Start free. Migrating away is the same one line, and we publish that diff too.
Related
How to move CI to arm64 runnersYou deploy to Graviton or Ampere but build on x64.arm64 migration checklistYou want to move to arm64 without breaking the pipeline.Cross-compiling versus native arm64You need arm64 binaries and are unsure whether to cross-compile or build natively.Fixing Node native modules on arm64npm install fails or compiles from source on arm64 runners.