arm64 bez QEMU
Kompiluje się obraz wieloarchitekturowy
Zbuduj każdą architekturę na natywnym sprzęcie i opublikuj jedną listę manifestów. Brak kar za emulację.
Wszędzie rodzimy
amd64 opiera się na amd64, arm64 opiera się na arm64. Tak jak powinno być.
Jeden manifest
Podsumowanie łączy się w jeden tag, który konsumenci pobierają normalnie.
5×–40× szybciej
Dokładnie, ile zależy od tego, jak bardzo kompiluje się twój obraz.
Najczęstsze pytania
- Dlaczego QEMU jest o wiele wolniejszy?
- Tłumaczy każdą instrukcję arm64 na x64 w czasie wykonywania, więc kara skaluje się w zależności od liczby instrukcji wykonanych przez twoją kompilację. Obraz skopiowany do pliku jest około 3 razy wolniejszy; kompilacja Rust lub C++ jest 35–40 razy wolniejsza.
- Jak opublikować jeden tag dla obu architektur?
- Zbuduj każdą architekturę na jej własnym natywnym module runner, wypchnij przez skrót, a następnie połącz z docker buildx imagetools create. Konsumenci normalnie pociągają za etykietę.
- Czy potrzebuję oddzielnych pamięci podręcznych dla każdej architektury?
- Tak, i są one automatycznie rozdzielane. Dołącz także plik runner.arch do dowolnego klucza akcji/pamięci podręcznej, w przeciwnym razie pamięć podręczna x64 przywrócona do arm64 spowoduje mylące błędy linkera, a nie czyste pomyłki.
Twój następny build może być dwa razy szybszy i o połowę tańszy
Zacznij za darmo. Odejście to ta sama jedna linia — ten diff też publikujemy.