Стоит ли добавлять секцию armv7s на iOS6?
Итак, я знаю, что armv7s оптимизирован для iPhone 5, и добавление его сделает мой код немного быстрее на этом устройстве.
Кто-нибудь знает, в чем разница? Есть ли тесты и т.д.?
Компромисс - это размер приложения. Мой примерный размер приложения идет от 3,3 МБ до 5 МБ с добавлением armv7s, который на 50% больше для загрузки.
Я думаю, что если увеличение скорости не будет убедительным, это может не стоить стоимости загрузки, но я не могу найти много дискуссий о том, какие преимущества будут.
Ответы
Ответ 1
Его стоит добавить поддержку armv7s, если вы хотите использовать поддержку VFPv4 (которая является новой с A6 SoC), для более быстрых вычислений с плавающей запятой. Есть более подробная информация, если вы посмотрите на приведенные ниже ссылки, которые по-прежнему являются лучшими источниками, которые я нашел на ней, когда я сделал исследование изначально. Я не знаю каких-либо контрольных показателей, но, поскольку преимущества могут отличаться от приложения к приложению (в зависимости от того, как ваше приложение привязано к процессору для вычислений с плавающей запятой), может быть полезно запустить их сами в любом случае.
статья anandtech
ссылка на форумы apple dev
связанная статья SO
Ответ 2
Какое приложение вы создаете? armv7s добавляет vfp4 и целочисленное деление. Поэтому, если ваше приложение не является тяжелым с плавающей запятой (скомпонованное многократное накопление ~ обработки сигнала) или делает много переменных переменным делением (переменная постоянным делением очень оптимизируется во время компиляции), вы должны быть в порядке, без поддержки armv7s. В случае, если ваше приложение работает на новейшем оборудовании, все программное обеспечение, предоставляемое инфраструктурой, такой как макеты, все равно будет использовать эти улучшения.
Ответ 3
Мой совет - измерить его. Улучшения от ARMv7 настолько специфичны (аппаратное целочисленное деление, а VFPv4 в значительной степени спланировано многократно добавляет), что улучшения в тестах могут или не могут быть применимы к вашему коду, поэтому я не думаю, что есть большая замена для синхронизации ваших приложение на iPhone 5 с и без фрагмента ARMv7s.
Ответ 4
Самое простое, что вы можете сделать, чтобы понять разницу в производительности, - это установить приложение на iPhone 5, используя и не используя поддержку "armv7s". По моему опыту, я вижу разницу в производительности в каждой модели iPhone. Мой совет - добавить поддержку armv7s для своего приложения и протестировать его в экстремальных случаях, и если вы заметите разницу в производительности, просто забудьте о размере ipa и других вещах.