Существуют ли какие-либо инструменты или хорошие методы для определения узких мест производительности в приложении для iPhone? - PullRequest
0 голосов
/ 23 мая 2009

У меня есть приложение, которое наполовину готово. Производительность не очень хорошая, и мне интересно, где узкие места. Хотя я могу пойти дальше и начать комментировать подозрительные строки кода, мне интересно, есть ли какие-нибудь инструменты, которые подскажут мне, какой метод клевый занял, сколько времени и что произошло дальше. Трассировка стека не очень полезна.

У меня возникла странная идея преобразовать трассировку стека в график GraphViz, чтобы визуально увидеть всю картину. Я знаю, что некоторые ребята из IBM делали нечто подобное, создавая визуальный график трассировки стека, который был очень впечатляющим и значимым. Прежде чем я изобрету колесо: есть ли какой-нибудь хороший инструмент или метод, который помогает находить узкие места в производительности на iPhone OS?

Ответы [ 2 ]

2 голосов
/ 23 мая 2009

Как сказал Кеннет, Инструменты - бесценный инструмент для оптимизации производительности приложения Какао. Его руководство пользователя можно найти здесь (или в документации по Xcode). Одна из замечательных особенностей инструментов отладки XCode заключается в том, что они могут работать с приложением, выполняющимся на устройстве, поэтому вы можете использовать инструменты для профилирования вашего приложения на реальном оборудовании.

При использовании Instruments я обнаружил, что инструмент CPU Sampler может дать очень хорошее представление о том, где мое приложение тратит больше всего времени. Например, у меня был медленный запрос SQLite, и я готовился оптимизировать все взаимодействия с SQLite, когда я запускал Instruments и обнаружил, что это на самом деле из-за некоторых расточительных процедур обработки строк.

Вы также можете использовать Shark для профилирования, хотя это не так просто использовать.

Вам также могут быть интересны ответы на следующие вопросы:

0 голосов
/ 23 мая 2009

Используйте инструменты (приложение, поставляемое с инструментами разработчика), чтобы присоединиться к процессу и измерить производительность.

Есть предустановка под названием «Базовая анимация», которая, вероятно, вам нужна.

На портале для разработчиков iPhone по инструментам есть обучающее видео: http://developer.apple.com/codingheadstarts/index.html

...