назад | содержание | вперед

Оптимизация приложений

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

Как правило, целью оптимизации является создание приложения, выполняющего все поставленные перед ним функциональные задачи максимально быстро и при этом с использованием минимального количества ресурсов системы, в частности места на диске и памяти компьютера при загрузке приложения. Перед проведением оптимизации необходимо ясно представлять, какие параметры являются более важными: скорость или ресурсы. Оптимизация приложения, таким образом, это целая стратегия создания эффективного приложения.

Рассмотрим оптимизацию приложения, включающую в себя следующие основные разделы:

Конечно, это далеко не полный список, но главные направления оптимизации он отражает.

Перед тем как строить стратегию оптимизации, рекомендуется ответить на следующие три вопроса:

Отвечая на первый вопрос, необходимо выделить цели оптимизации. Например, приложение для расчета заработной платы должно работать максимально быстро, при этом можно пожертвовать его размером. Наоборот, создавая приложение для Internet, необходимо помнить, что проект большого размера не будет работать в сети Internet, т. к. исполняемый файл приложения размером 1 Мбайт и более практически неработоспособен в сети.

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

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

 

назад | содержание | вперед