Лучшие практики для компиляции приложения для iPhone, оптимизирующие его для максимальной скорости? - PullRequest
2 голосов
/ 27 апреля 2010

Мне было интересно, что люди делают, чтобы скомпилировать свои приложения для iPhone, оптимизируя их для максимальной скорости, а не размера или соотношения скорости и размера.

Ответы [ 2 ]

6 голосов
/ 27 апреля 2010

Вы всегда должны всегда профилировать свой код, прежде чем делать какие-либо общие предположения о том, что хорошо или плохо для вашего конкретного приложения. Shark действительно хорош и может использовать аппаратные счетчики производительности на вашем устройстве, чтобы рассказать вам много низкоуровневой информации о том, как работает ваше приложение.

На iPhone 3GS компиляция для Thumb-2 не влечет за собой снижения производительности, как это делает старый набор команд Thumb (в частности, он имеет собственную плавающую точку). См. этот другой вопрос для некоторых дополнительных деталей.

Вы можете создавать двоичные файлы с несколькими наборами команд , хотя я не уверен, что вы можете сказать «нет большого пальца» для ARM6 (до iPhone 3GS) и «большой палец в норме» для ARM7 (iPhone) 3GS, предположительно iPad, не знает о касаниях iPod) . Редактировать: Это возможно, спасибо Брэду за объяснение как.

Во многих случаях оптимизация по размеру также является хорошим способом оптимизации по скорости: сжимая размер кода, он может лучше вписываться в кэш инструкций ЦП, избегая выборок в памяти. Это помогает чаще с часто выполняемыми трудными циклами.

0 голосов
/ 28 апреля 2010

Нет. 1 совет - знайте свои классы хранения. Делать что-то вроде indexOfObject в массиве может быть невероятно дорого, и вы обычно можете избежать таких ситуаций, используя другой класс хранения или организовав ваши данные по-другому. Инструменты производительности могут помочь вам найти такие ситуации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...