Przejdź do treści

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.