Я обнаружил, что профилирование времени, используемое Shark, очень точно определяет узкие места в вашем коде. Вы можете настроить интервал выборки, чтобы он был более точным, открыв редактор Mini Config с помощью Config | Show Mini Config Editor и уменьшив время выборки.
Инструменты в Xcode 3.2 также теперь имеют хороший инструмент Time Profiler, хотя он только для Mac. Я обнаружил, что инструменты хорошо подходят для профилирования, но могут отбрасывать образцы, если система находится под большой нагрузкой. Как правило, я начинаю с инструментов, учитывая, насколько легко ими пользоваться, а затем перехожу к Shark, если мне нужно более подробное представление о том, что происходит.
Если вы действительно хотите профилировать на основе вызовов функций, я бы посмотрел на DTrace. Я написал пару статей о настройке приложений Какао с помощью DTrace здесь и здесь. Последний даже показывает пример настройки времени запуска приложения iPhone с помощью специального сценария DTrace.
К сожалению, в настоящее время DTrace не работает на самом iPhone, но вы все равно можете собрать много интересной информации с его помощью, запустив свое приложение в симуляторе. Несмотря на то, что точная информация о времени будет далека от того, что находится на устройстве, точное знание того, какие методы выполняются, сколько раз и в каком порядке, может дать некоторые подсказки относительно того, где оптимизировать. Я использую DTrace, чтобы по-другому взглянуть на информацию, собранную Shark and Instruments, и чтобы ответить на конкретные вопросы о моем приложении.
person
Brad Larson
schedule
18.09.2009