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