Potwierdza się. Pierwsze testy M1 w MacBooku Air, pokazują, że nawet w trybie emulacji Intela, jest on nadal bardzo szybki. Dorównuje, a nawet przegania i7 z MacBooka Pro 16”! Dokładnie tak jak to przewidziałem kilka miesięcy temu.
M1 jako VirtualApple w trybie emulacji
W testach GeekBench 5 pojawiły się pierwsze wyniki M1 pracującego w trybie emulacji Intela. Zgłasza się on jako „VirtualApple @ 2.40 GHz, 1 processor, 8 cores, GenuineIntel Family 6, Model 44, Stepping 0”.
M1 „VirtualApple” osiągnął wydajność na jednym rdzeniu, której trudno sprostać wielu prawdziwym procesorom Intela (1313), a w teście wielordzeniowym bardzo przyzwoite, lesze niż 6-rdzeniowy i7 z MacBooka Pro 16” 5888 punktów.
Tak dobry wynik nie jest dla mnie zaskoczeniem. Już kilka miesięcy temu napisałem art. „Pierwsze testy Apple Silicon Developer Transition Kit. Jest dobrze”. Wtedy mieliśmy tylko testy DTK, które bazują na A12Z.
Przeglądając wysyp testów DTK, które pojawiły się w ciągu kilku dni, bo Apple zdjęło embargo, widać, że w ostatniej wersji (finalnej) Apple zmienił coś w Rosetta 2. Zaczęła się ona zgłaszać jako 8 rdzeniowy procesor Intela. We wcześniejszych wersjach macOS, pokazywała 4 rdzenie (dla A12Z, który jak M1 ma 4 + 4 rdzenie). Przyrost wydajności M1 względem A12Z (w trybie emulacji) jest zgodny z oczekiwaniami, czyli na poziomie 40-50%.
Warto pamiętać, że Rosetta 2 podobnie jak późniejsze wersje jej poprzedniczki, przyśpiesza swoją pracę, „zapamiętując” przetłumaczony kod. 15 lat temu był on przechowywany w pamięci RAM coś jak w „cache”. Obecnie Rosetta 2 stara się tłumaczyć kod już podczas instalacji programu, czy przenoszenia danych z innego Maca przy pomocy Asystenta migracji i zapisać go na dysk. Jednak jeżeli ten proces nie będzie możliwy, np. z powodu niestandardowego systemu instalacji aplikacji, to aplikacja intelowa, będzie tłumaczona przy uruchomieniu i w trakcie pracy. Apple podaje, że wtedy przetłumaczony kod też ma być zapisany na dysku, ale pierwsze uruchomienie może trwać wyjątkowo długo, nawet 20 sekund. Kolejne powinny być już znacznie szybsze, zbliżone do uruchamiania natywnych aplikacji.
Podsumowując: nawet z aplikacji niedostosowanych do Apple Silicon, da się na pierwszych komputerach z własnymi procesorami Apple pracować wygodnie, a czasem nawet wydajniej niż na „oryginalnych” Intelach.
Totalny odlot.
Zastanawiam się jakim cudem Apple zapewni odpowiednią podaż nowych komputerów, przede wszystkim MacBook-a Air, w ciągu nadchodzących miesięcy.
Zastanawiam się czy w przypadku aplikacji uniwersalnych będzie możliwość uruchomienia takiej w trybie emulacji? Chociażby taki Paralles może by uruchomił windowsa jeśli byłby odpalony przez Rosette 2?
W menu kontekstowym jest opcja „Run with Rosetta”, gdzieś to było pokazywane. Ale na programy typu Parallels bym nie liczył, wirtualizacja wymaga dodatkowych sterowników działających w trybie jądra, a tego Rosetta emulować nie potrafi.
A widziałeś jak podczas WWDC pokazywali Linuxa pod Parallels? Nikt nie chce opdalać Parallelsa pod Rosetą, bo to oficjalnie niemożliwe, ale Pod paralellsem Windows dla ARM i to on ma emulować Intela
Kwestia wydajności oczywiście pozostaje, bo M$ nie ma takiej tychnologii emulacji, ale zawsze to coś.