Производительность процессора M1 Pro (2021, 10 cores) при запуске ARM и Intel-кода в разных вариантах
Таблица производительности процессора M1 Pro при запуске одного и того же бенчмарка c geekbench.com версии 5.4.4 в разных вариантах.
Целью эксперимента было понять порядок замедления разных вариантов запуска.
Результаты многопоточного выполнения можно найти по ссылкам, к сожалению удобно свести их в одну таблицу не получилось - т.к. в разных вариантах код выполнялся с разным количеством доступных ядер.
Вариант запуска | Баллы при однопоточного запуска | Процент производительрности от нативного запуска. |
---|---|---|
Native MacOS - ARM code | 1769 | 100% |
Rosetta 2 - Intel code | 1347 | 76.1% |
MacOS in Parallels VM - ARM code | 1696 | 95.9% |
Windows ARM in Parallels VM - ARM code | 1527 | 86.3% |
Windows ARM in Parallels VM - Intel code | 623 | 35.2% |
x86 CPU Emulation, default single-core CPU | 75 | 4.2% |
x86 CPU Emulation, Skylake 4-core CPU | 72 | 4.1% |
Для сравнения запуск того же теста на Intel Core i7-9750H, нативно в MacOS: 1030 баллов (58.2%).
Для эмуляции x86 CPU я использовал QEMU через обёртку UTM.
В этом варианте у меня получилось поставить внутри виртуальной машины Windows XP, Windows 11, Ubuntu 20.04. Windows XP более-менее шевелилась и интерфейс работал хоть и не оч. быстро, но вполне пригодно. Интерфейсы Windows 11 и Ubuntu (Gui) тормозили оч. заметно и работать в таком режиме - точно некомфортно. В Windows 11 фоновые процессы съедают сразу 100% виртуального процессора и например нажатие кнопки Start обрабатывается 10-15 секунд прежде чем появляется меню.
В целом вариант эмуляции пригоден только если надо что-то померять или запустить оч. старый код на оч. старой системе: для современных падение производительности слишком сильное - примерно в 25 раз.