Логическая функция на небольшом множестве исходных значений может быть заменена таблицей, представляющей это множество.
• В решении 9.6 описана реализация стандартной библиотечной функции классификации символов на С с помощью таблицы.
• Удаление булевских переменных. Булевские переменные могут быть убраны из программы с помощью замены операции присваивания такой переменной некоторого значения оператором if.. .else, в котором одна ветвь относится к случаю, когда переменная истинна, а другая — к случаю, когда эта переменная оказывается ложной.
Составление процедур
• Устранение иерархий функций. Время выполнения элементов набора функций, нерекурсивно вызывающих друг друга, может быть сокращено раскрытием этих функций и связыванием передаваемых переменных.
• Замена функции max соответствующим макросом в разделе 9.2 ускорила программу почти вдвое.
• Раскрытие функции swap в разделе 11.1 ускорило программу почти втрое, iio в разделе 11.3 это же действие дало гораздо меньший эффект.
• Учитывайте частоту ситуаций. Функции должны правильно обрабатывать все возможные ситуации и быть наиболее эффективными в наиболее часто возникающих ситуациях.
• В разделе 9.1 подпрограмма выделения памяти ван Вайка корректно обрабатывала все типы узлов, но была особенно эффективна для некоторого наиболее часто встречавшегося типа.
Опубликовал vovan666
April 17 2013 00:05:45 ·
0 Комментариев ·
4107 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.