arm64 χωρίς QEMU
Κατασκευές εικόνων πολλαπλής αρχιτεκτονικής
Δημιουργήστε κάθε αρχιτεκτονική σε εγγενές υλικό και δημοσιεύστε μια λίστα δηλώσεων. Χωρίς ποινή εξομοίωσης.
Ιθαγενής παντού
Το amd64 βασίζεται στο amd64, το arm64 βασίζεται στο arm64. Όπως θα έπρεπε να ήταν.
Ένα μανιφέστο
Οι συνθέσεις συγχωνεύονται σε μια ενιαία ετικέτα που τραβούν κανονικά οι καταναλωτές.
5×–40× πιο γρήγορα
Το πόσο ακριβώς εξαρτάται από το πόσο μεταγλωττίζεται η εικόνα σας.
Συχνές ερωτήσεις
- Γιατί το QEMU είναι τόσο πιο αργό;
- Μεταφράζει κάθε εντολή arm64 σε x64 κατά το χρόνο εκτέλεσης, οπότε η ποινή κλιμακώνεται με πόσες οδηγίες εκτελεί η κατασκευή σας. Μια εικόνα αντιγραφής αρχείου είναι περίπου 3 φορές πιο αργή. μια κατασκευή Rust ή C++ είναι 35–40× πιο αργή.
- Πώς μπορώ να δημοσιεύσω μία ετικέτα και για τις δύο αρχιτεκτονικές;
- Δημιουργήστε κάθε αρχιτεκτονική στον δικό της εγγενή runner, push by digest και μετά συγχωνεύστε με το docker buildx imagetools create. Οι καταναλωτές τραβούν την ετικέτα κανονικά.
- Χρειάζομαι ξεχωριστές κρυφές μνήμες ανά αρχιτεκτονική;
- Ναι, και χωρίζονται αυτόματα. Συμπεριλάβετε επίσης το runner.arch σε οποιαδήποτε ενέργεια/κλειδί κρυφής μνήμης, ή μια κρυφή μνήμη x64 που αποκαταστάθηκε στο arm64 παράγει μπερδεμένα σφάλματα σύνδεσης αντί για καθαρή απώλεια.
Το επόμενο build σας μπορεί να είναι διπλάσια γρήγορο, στη μισή τιμή
Ξεκινήστε δωρεάν. Η αποχώρηση είναι η ίδια μία γραμμή — δημοσιεύουμε κι αυτό το diff.