arm64 sem QEMU
Construções de imagens multiarquitetura
Crie cada arquitetura em hardware nativo e publique uma lista de manifestos. Sem penalidade de emulação.
Nativo em todos os lugares
amd64 é baseado em amd64, arm64 é baseado em arm64. Do jeito que deveria ter sido.
Um manifesto
Os resumos se fundem em uma única tag que os consumidores extraem normalmente.
5×–40× mais rápido
Exatamente quanto depende de quanto sua imagem é compilada.
A emulação QEMU é o caminho padrão para compilações multi-arch e é a razão pela qual tantas equipes abandonaram silenciosamente o suporte ao arm64. Emular todo o conjunto de ferramentas do compilador é tão lento quanto parece.
Perguntas frequentes
- Por que o QEMU é muito mais lento?
- Ele traduz todas as instruções arm64 em x64 em tempo de execução, de modo que a penalidade aumenta de acordo com quantas instruções sua compilação executa. Uma imagem de cópia de arquivo é cerca de 3× mais lenta; uma compilação Rust ou C++ é 35–40× mais lenta.
- Como publico uma tag para ambas as arquiteturas?
- Construa cada arquitetura em seu próprio executor nativo, pressione por resumo e depois mescle com docker buildx imagetools create. Os consumidores puxam a etiqueta normalmente.
- Preciso de caches separados por arquitetura?
- Sim, e eles são separados automaticamente. Inclua runner.arch em qualquer chave de ações/cache também, ou um cache x64 restaurado em arm64 produz erros confusos de vinculador em vez de uma falha limpa.
Seu próximo build pode ser duas vezes mais rápido, pela metade do preço
Comece grátis. Sair é a mesma linha, e publicamos esse diff também.