Подтвердить что ты не робот

В чем преимущество использования поддержки armv7s в Valid Architecture?

Я работаю над iOS-приложением, которое поддерживает iOS 4.3 и выше. Из-за некоторых фреймворков я не могу архивировать его для armv7s, поэтому я удалил поддержку armv7s. Уменьшит ли производительность приложения? В чем преимущество использования armv7s?

4b9b3361

Ответ 1

Удивительно, но в машинных кодах, созданных для двух разных архитектур, не было много различий; в целом, код armv7s не сильно отличается от кода armv7. Тем не менее, у меня были два отличия.

Первое отличие влияет на целочисленное деление. Архитектура armv7s имеет две новые целые команды деления, отсутствующие в архитектуре armv7. Эти целые инструкции деления реализованы как функция на armv7, которая по крайней мере на порядок медленнее, чем эквивалентная команда на armv7. Целочисленное разделение распространено в приложениях (оно называется более чем сотнями мест в Geekbench), поэтому эти новые инструкции должны обеспечить значительное увеличение производительности для всех приложений.

Второе различие влияет на арифметику с плавающей запятой. Xcode использует различные арифметические команды с плавающей запятой для armv7s, чем для armv7. Инструкции, используемые Xcode для armv7, объединяют несколько операций в одну команду, что должно сделать их более эффективными, чем несколько независимых инструкций, которые Xcode использует для armv7. Удивительно, что эти комбинированные команды с плавающей запятой присутствуют в архитектуре armv7, но не используются Xcode. Непонятно, почему это так. Для armv7 эти комбинированные инструкции представляют собой небольшую часть всех инструкций с плавающей запятой, поэтому, хотя они, вероятно, будут иметь преимущество, трудно определить, какое влияние они окажут.

Существуют и другие различия между командами armv7 и armv7s, но они незначительны по сравнению с целым делением и арифметическими изменениями с плавающей запятой, описанными выше. Сколько будет выгодно использовать приложения от сборки armv7? Трудно сказать, просто изучив сгенерированный код, но если вы разработчик, я считаю, что стоит потратить время и усилия на поставку сборки вашего приложения, особенно если ваше приложение использует операции с плавающей запятой.

Я получил информацию по этой ссылке. Пожалуйста, перейдите по этой ссылке для получения более подробной информации. Спасибо.

Разница между armv7 и armv7s