Первой платой Raspberry Pi с 64-битным процессором Arm была Raspberry Pi 3 Model B, и все новые модели, включая последнюю версию Raspberry Pi 4, оснащены четырьмя 64-битными ядрами Arm Cortex-A.
Но, чтобы сохранить обратную совместимость программного обеспечения с оригинальными Raspberry Pi и Raspberry Pi 2, Raspberry Pi Foundation решил сохранить предоставленный образ 32-битной ОС, поэтому почти все теперь используют 32-битную ОС на 64-битном оборудовании, и Эбен Аптон, как известно, утверждал, что это не имеет значения.
Мы уже писали, что 64-битная архитектура от Arm (Aarch64) несколько лет назад повысила производительность на 15-30% по сравнению с 32-битной Arm (Aarch32), но Маттео Кроче решил сам попробовать ее на плате Raspberry Pi 4, впервые выполнив тесты на Raspbian 32-бит перед переключением на облегченную версию Debian, скомпилированную как aarch64.
Dhrystones намного быстрее с 64-битной ОС, а именно на 50% быстрее, но в качестве синтетического теста его использование ограничено. Тесты, приближенные к реальным случаям использования, таким как SHA1 или аудиокодирование, подтверждают улучшенную производительность, хотя и в меньшей степени, но все же значительную.
Однако в некоторых случаях нет преимуществ от перехода на 64-разрядную ОС, так с производительностью VPN, OpenVPN или Wireguard практически не отличаются от 32-разрядной ОС Raspbian, установленной по умолчанию.
Но, брандмауэр работает намного лучше с Aarch64 (557k пакетов/с), чем когда программное обеспечение скомпилировано с armv7 (268k пакетов/с).
Результаты тестов могут сильно отличаться в зависимости от выбранных флагов компиляции, но, к сожалению, Маттео не предоставил полные командные строки, используемые для сборки ОС и примеров.
Нам хотелось бы получить еще несколько точек данных, поэтому взглянем на результаты sbc-bench, доступные как для 32-битного Raspbian, так и для 64-битного Debian Buster с разогнанным процессором до 1850 МГц и работой под управлением Linux 4.19 в обоих случаях. Но, результаты у нас здесь совершенно другие, по крайней мере, когда речь идет о числах AES, которые вдвое медленнее на 64-битной версии, и одной из причин является отсутствие ARMv8 Crypto Extensions в процессоре Broadcom BCM2711.
Отсутствие аппаратного шифрования может объяснить, почему он не быстрее, но не объясняет, почему он намного медленнее с 64-битными инструкциями. Томас Кайзер также отметил, что 64-битный код занимает больше места, что приводит к запуску защитного механизма при нехватку памяти (oom-killer) во время 7-zip-теста на Raspberry Pi 4 с 1 ГБ ОЗУ, в то время как тест может нормально работать при использовании 32-битной ОС на такое же оборудование.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.