Реферат: Оптимизация программ
В соответствующую группу оптимизаций входят следующие преобразования:
- глобальная экономия памяти, т.е. совмещение по памяти не существующих одновременно статических переменных;
- изменение области существования автоматической переменной;
- перемещение оператора отведения памяти под управляемую переменную по пути, ведущему к конечному оператору программы;
- совмещение по памяти динамических информационных объектов, например, замена стека локальных переменных или параметров, вовлекаемых в рекурсию, одинарной переменной. Примером выполнения этого преобразования является замена функции
цел функция F(N,M)
начало
целое K;
если N=M
то F:=1
иначе
начало
K:=M+1; F:=F(N,K)*K конец
конец
на функцию
цел функция F(N,M) начало
цел функ G(Z);
начало
целое K
если N=Z
то F:=1
иначе
начало
K:=Z+1; F:=F(K)*K конец
конец
F:=G(N) конец;
4.6. Сокращение программы
При данном способе улучшение программы достигается за счет сокращения ее размера.
К преобразованиям этого типа относится чистка линейного участка, при которой в начальную (или в конечную) его вершину выносятся и заменяются на один экземпляр имеющиеся на всех путях в блоке одинаковые конструкции. Например,