Таблица производительности процессора M1 Pro при запуске одного и того же бенчмарка c geekbench.com версии 5.4.4 в разных вариантах.
Целью эксперимента было понять порядок замедления разных вариантов запуска.
Результаты многопоточного выполнения можно найти по ссылкам, к сожалению удобно свести их в одну таблицу не получилось - т.к. в разных вариантах код выполнялся с разным количеством доступных ядер.
Вариант запуска (run variant) |
Баллы при однопоточного запуска Single-core cores. |
Процент производительрности от нативного запуска. Perfomance percent from native. |
---|---|---|
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 секунд прежде чем появляется меню.
В целом вариант эмуляции пригоден только если надо что-то померять или запустить оч. старый код на оч. старой системе: для современных падение производительности слишком сильное.