Ищите возможности избежать компромисса «время-память».
Фольклор программистов и теория программирования содержат множество примеров компромисса «время-память». Например, программа может требовать меньшего объема памяти, но работать большее время. Двухпроходный алгоритм в задаче 5 увеличивает время работы вдвое, сокращая в то же число раз необходимую память. Однако, по моему опыту, зачастую сокращение требований к памяти сокращает и время работы программы . Эффективная с точки зрения экономии памяти структура битового массива привела к значительному сокращению времени сортировки. Это произошло по двум причинам: во-первых, меньшее количество данных требует меньшего времени для обработки, а во-вторых, хранение данных в памяти, а не на диске сокращает затраты на обращение к ним. Разумеется, столь значительные улучшения оказались возможными лишь потому, что начальная версия программы была далека от оптимальной.
• Стремитесь к простоте. Антуан де Сент-Экзюпери, французский писатель и авиатор, говорил: «Конструктор знает, что он достиг совершенства не тогда, когда нечего больше добавить, а тогда, когда нечего больше убрать». Многим программистам следует оценивать свою работу по этому критерию. Простые программы обычно более надежны и эффективны, чем их более сложные варианты, их проще создавать и сопровождать.
Разбейте разработку программы на этапы. Данный пример иллюстрирует процесс разработки, подробно описанный в разделе 12.4.
Опубликовал vovan666
April 16 2013 23:34:11 ·
0 Комментариев ·
3766 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.