Какое влияние оказывает производительность на armv7 при компиляции приложения для iOS? - PullRequest
3 голосов
/ 07 января 2012

Наше приложение использует API-интерфейс foursquare, и меня интересует, как компилируется с архитектурой armv7:

  • точность определения местоположения
  • скорость (вычисления с плавающей запятой)

Обеспечивает ли компиляция с архитектурой armv6 какое-либо относительное преимущество с точки зрения точности определения местоположения или скорости вычислений с плавающей запятой?

Кто-нибудь проверял это для измерения фактической разницы?Или он слишком мал, чтобы иметь какое-либо значение?

Мне интересно, стоит ли использовать гибридную сборку armv6 / armv7 для улучшения этих двух элементов производительности, даже если это приводит к номинальному увеличениюРазмер файла приложения?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 07 января 2012

Обеспечивает ли компиляция с архитектурой armv6 какое-либо относительное преимущество с точки зрения точности определения местоположения или скорости вычислений с плавающей запятой?

Я думаю, что здесь возникает больший вопрос;вас волнует, что ваше приложение не работает на старом оборудовании на базе ARMv6?Поскольку создание сборки только для ARMv7 ограничит число устройств, поддерживаемых вашим приложением.

Или оно слишком маленькое, чтобы иметь какое-либо значение?

Все зависит от вашегоситуация ... но, по моему опыту, тактовая частота устройств на базе ARMv6 по сравнению с устройствами на основе ARMv7 имеет гораздо более важное значение, чем любые различия в оптимизации, которые компилятор делает между ними.

Мне интересно, стоит ли использовать гибридную сборку armv6 / armv7

Это значение по умолчанию - и если у вас нет особых причин не собирать для обоих - вы должны - это гарантируетнаилучшие результаты как для устройств на базе ARMv6, так и для устройств на базе ARMv7 - ваша единственная альтернатива, если вам нужна максимальная совместимость, - это сборка только для ARMv6 - что гарантирует вам, что если бы было какое-то место, компилятор мог бы оптимизировать под ARMv7, вы бы проиграли на этихоптимизаций.

1 голос
/ 08 января 2012

Если вы включили ARMv6 и ARMv7 при сборке и не ограничены сборкой только для активной архитектуры - конечное приложение будет иметь 2 двоичных образа.Один для 6 и второй для 7. Другими словами - ваш выбор: сборка только для V7 и вообще не поддерживает V6, или сборка для 6 и 7 и обеспечение универсального двоичного файла.Наконец устройство будет использовать соответствующий двоичный образ.Не уверен, что трудно выбрать ...

Лично я предпочитаю поддерживать как можно больше устройств и не согласен с Apple по поводу изменений в Xcode 4.2, подталкивающих разработчиков к отказу от поддержки устройств ARMv6.

...