Скачать презентацию ОПТИМИЗАЦИЯ Под эффективностью программы понимают Скачать презентацию ОПТИМИЗАЦИЯ Под эффективностью программы понимают

ОПТИМИЗАЦИЯ.pptx

  • Количество слайдов: 8

ОПТИМИЗАЦИЯ ОПТИМИЗАЦИЯ

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

 • При проектировании больших систем оптимизация производится в два этапа: – Оптимизация текста • При проектировании больших систем оптимизация производится в два этапа: – Оптимизация текста программы на языке высокого уровня – Наиболее критичные ко времени выполнения процедуры переписывают на язык ассемблера

Способы оптимизации программных кодов Разгрузка участков повторяемости. • Способ оптимизации, который подразумевает разгрузку циклов Способы оптимизации программных кодов Разгрузка участков повторяемости. • Способ оптимизации, который подразумевает разгрузку циклов путем вынесения из них выражений, которые могут быть вычислены вне циклов. – Чистка вверх – «чистка» тел рекурсивных процедур, когда выражения в соответствующем цикле (или теле многократно вызываемой процедуры) выносятся и размещаются перед входом в участок повторяемости – Чистка вниз, когда соответствующие фрагменты кода помещаются после цикла. При этом нужно обратить внимание на то, что выносить можно только такие выражения, которые обязательно исполняются при каждом прохождении разгружаемого цикла.

Способы оптимизации программных кодов Замена сложных операций на более простые. • Очень часто одна Способы оптимизации программных кодов Замена сложных операций на более простые. • Очень часто одна операция предпочтительнее другой на том основании, что выполняется быстрее. • Например, операция сложения выполняется быстрее операции умножения, а умножение быстрее операции деления. Поэтому один оператор умножения переменной на некоторое небольшое целое число (обычно не более трех) лучше заменить на эквивалентное количество сложений. • Выражение: Total : = Summa + Summa; эффективнее выражения: Total : = 3 * Summa; • а операцию деления Summa : = Summa/2; лучше заменить на более быстрое умножение, которое приведет к тому же самому результату Summa : = Summa * 0. 5;

Способы оптимизации программных кодов Чистка программы. • Повышает качество программы за счет удаления из Способы оптимизации программных кодов Чистка программы. • Повышает качество программы за счет удаления из нее ненужных объектов и конструкций. • Набор преобразований этого типа включает в себя следующие варианты оптимизации: – удаление несущественных операторов, то есть операторов, не влияющих на результат программы; – удаление бесполезных операторов, вычисляющих вспомогательные переменные, используемые только для подстановки в другие выражения; – удаление объявленных, но неиспользуемых переменных и типов; – удаление идентичных операторов; – удаление процедур, к которым нет обращений. • Причина – большое количество переменных и процедур одного слишком большого модуля (объявляются переменные, которые потом нигде в программе не используются).

Способы оптимизации программных кодов Экономия памяти. • Одним из главных ресурсов после процессорного времени, Способы оптимизации программных кодов Экономия памяти. • Одним из главных ресурсов после процессорного времени, который использует программа, является объем оперативной памяти. Объем памяти зависит как от размера кода самой программы, так и от количества статических и динамических переменных.

Способы оптимизации программных кодов Экономия памяти. • Способы более экономного расходования памяти: – Экономия Способы оптимизации программных кодов Экономия памяти. • Способы более экономного расходования памяти: – Экономия на типе переменной – Глобальная экономия памяти подразумевает совмещение по памяти не существующих одновременно статических переменных. Модульное программирование также подразумевает разнесение объявлений несвязанных переменных в различные модули. – Изменение области существования переменной. – Перемещение оператора объявления переменной (резервирования памяти) ближе к тому участку программы, в котором содержатся операторы, использующие эту переменную, то есть переменную следует объявлять в границах того блока, где она используется. – Экономия стека: при передаче массива в качестве параметра подпрограммы, следует использовать ссылку на массив. Помимо экономии памяти это приводит также и к экономии времени за счет того, что система не создает копии передаваемого массива в стеке.