Книга: Программирование мобильных устройств на платформе .NET Compact Framework
Абсолютная производительность критических алгоритмов
Абсолютная производительность критических алгоритмов
Среди алгоритмов, используемых в вашем приложении, всегда можно выделить ключевые алгоритмы, влияние которых на восприятие пользователем условий работы с приложением является определяющим. Таковыми являются алгоритмы, ответственные за выполнение наиболее важных функций приложения. К числу подобных алгоритмов относятся загрузка данных из баз данных, синтаксический анализ содержимого файлов, расчеты графиков для отображения их на устройстве или генерация отчетов для представления данных пользователю. Так, если для рисования графика на основании собранных пользователем данных требуется три минуты, то этот промежуток времени является слишком большим даже при условии сохранения интерактивной связи пользователем с пользовательским интерфейсом на протяжении всего периода ожидания. О том, чтобы в процессе выполнения таких ключевых алгоритмов пользователь не испытывал никакого дискомфорта, вы должны позаботиться отдельно, призвав на помощь всю свою творческую смекалку.
К числу вопросов, на которые необходимо дать ответ, пересматривая критические алгоритмы, относятся следующие:
? Можно ли ускорить выполнение этих алгоритмов путем их настройки или изменения?
? Можно ли прогнозировать потребность алгоритмов в тех или данных и заблаговременно загружать нужные данные, прежде чем в них возникнет необходимость, чтобы пользователь мог быстрее получить результат?
? Можно ли выполнять наиболее трудоемкую часть вычислений вне устройства, на сервере?
? Можно ли произвести некоторые вычисления или подготовить некоторые изображения еще на стадии проектирования, чтобы исключить или уменьшить потребность в проведении соответствующих вычислений на стадии выполнения?
Все сказанное выше о ключевых этапах и производительности можно резюмировать следующим образом: установив для намеченных контрольных точек критерии завершения, учитывающие аспекты производительности, и сделав их соблюдение обязательным требованием процесса разработки, вы сможете гарантировать успешную разработку вашего программного проекта.
- Основные "рычаги" управления производительностью
- Производительность
- Улучшенная производительность
- 5.4. РЕКОМЕНДАЦИИ НАЧИНАЮЩИМ ПО СОСТАВЛЕНИЮ ОПИСАНИЙ АЛГОРИТМОВ И ЭВРОРИТМОВ
- Как сравнить производительность моего компьютера с остальными?
- Производительность и надежность
- Естественный отбор алгоритмов?
- 2.7. Блок схемы алгоритмов
- Ситуация 5. Слабая производительность сети
- Приложение В Сложность алгоритмов
- Производительность системных вызовов
- Опасность, связанная со сложностью алгоритмов