Настройка производительности в приложении Какао - PullRequest
0 голосов
/ 07 января 2009

Я разрабатываю приложение Cocoa, которое постоянно взаимодействует с веб-сервисом для получения актуальных данных. Это значительно снижает производительность приложения. Звонки в веб-службу выполняются асинхронно, но количество звонков огромно.

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

Спасибо

Ответы [ 3 ]

3 голосов
/ 07 января 2009

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

2 голосов
/ 07 января 2009

Да! На самом деле у Apple есть несколько очень кратких руководств по производительности, которые охватывают множество приемов и приемов, я уверен, что вы найдете что-то подходящее для вашего собственного приложения. Могут быть некоторые дополнительные руководства, специфичные для 10.5, которые я еще не видел, но вот три, которые я нашел полезными в прошлом.

Самая важная вещь, которую нужно убрать, это то, что вам нужно использовать инструменты повышения производительности, чтобы точно определить, где возникает узкое место. Иногда это может быть в том месте, где вы меньше всего этого ожидаете.

2 голосов
/ 07 января 2009

Я думаю, что если вы используете Shark, вы просто обнаружите, что ваше приложение блокирует ожидание ответов от сервера. Сравнение кода между машинами намного сложнее для сравнения, поскольку стандартные инструменты могут тестировать только часть изображения.

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

Tony

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