20613

Устранение общих подвыражений

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

2 Удаление бесполезного кода Допустим имеем следующую последовательность инструкций 3 Оптимизация циклов Пример 1: Пусть имеем цикл while i n2 Возможно модернизировать в следующую последовательность инструкций t:=n2 while i t Пример 2: while i t a:=b2 при условии что b не изменяется в теле цикла данную последовательность инструкций можно заменить на: a:=b2 while i t Метод перемещения кода заключается в выносе перед циклом выражений не изменяющихся в процессе его выполнения. 4 Переменные индукции и снижение стоимости 5 Оптимизация...

Русский

2013-07-31

92 KB

1 чел.

Лекция №14.

Устранение общих подвыражений

1) Распространение копий

Использование после инструкции вида f := g переменной g  вместо f, где это возможно.

Переменная х на выходе оказалась не живой, следовательно ее можно удалить.

Пример:

после оптимизации избавились от дорогостоящей операции сложения.

2) Удаление бесполезного кода

Допустим, имеем следующую последовательность инструкций

3) Оптимизация циклов

Пример 1:

Пусть имеем цикл

while i<n-2

Возможно модернизировать в следующую последовательность инструкций

t:=n-2

while i<t

Пример 2:

while i<t

a:=b*2

при условии, что b не изменяется в теле цикла, данную последовательность инструкций можно заменить на:

a:=b*2

while i<t

Метод перемещения кода заключается в выносе перед циклом выражений, не изменяющихся в процессе его выполнения.

4) Переменные индукции и снижение стоимости

5) Оптимизация базовых блоков на основе дагов

Пример:

Пусть имеется следующая последовательность инструкций

a:=b+c

b:=a-d

c:=b+c

d:=a-d

При условии, что b на выходе не является живой переменной после оптимизации данную последовательность можно заменить на следующую

a:=b+c

d:=a-d

c:=d+c

Из дага удаляются все корни (т.е. узлы без предков), которые не имеют живых переменных или таковые переменные вписанные как дополнительные в существующие узлы.

6) Использование алгебраических тождеств

  1.  х+0=х-0=0+х=х
  2.  х/1=х*1=1*х=х
  3.  х**2=х*ч
  4.  х*2=2*х=х+х
  5.  замена констант

Пример:

a:=b+c

b:=b-d

c:=c+d

e:=b+c

e:=b+c    b:=b-d

e:=b-d+c    a:=b+c

e:=a-d

После выполненных преобразований исходная последовательность инструкций примет вид:

a:=b+c

c:=c+d

e:=a-d

7)Рассмотрение циклов в графах потоков

Узел d графа потока доминирует над узлом n, если любой путь из начального узла графа потока в узел n проходит через d.

d    dom    n

Таким образом, вход в цикл доминирует над всеми узлами цикла.


 

А также другие работы, которые могут Вас заинтересовать

17448. Циклы с условием 129.61 KB
  Лабораторная работа № 9 Циклы с условием 9.1. Циклы Do While...Loop Есть множество операций которые нужно повторять пока чтото не произойдет. Это чтото представляет собой условие прекращения процесса. Код в цикле с неопределенным количеством повторений выполняется неиз...
17449. Подпрограммы и функции 59.85 KB
  Лабораторная работа № 10 Подпрограммы и функции Это интересно: В 2003 году была создана система объектноориентированного программирования Visual Basic .NET 2003 а в 2005 году система объектноориентированного программирования Visual Basic 2005 Express Edition затем Visual Basic 2008 потом Visual Basi...
17450. Предмет и метод курса Проектирование информационных систем. Понятие экономической информационной системы 122 KB
  Лекция 1. Предмет и метод курса Проектирование информационных систем. Понятие экономической информационной системы. Классы ИС. Структура однопользовательской и многопользовательской малой и корпоративной ИС локальной и распределенной ИС состав и назначение подсисте...
17451. Понятие жизненного цикла ПО ИС. Процессы жизненного цикла: основные, вспомогательные, организационные 121.5 KB
  Понятие жизненного цикла ПО ИС. Процессы жизненного цикла: основные вспомогательные организационные. Содержание и взаимосвязь процессов жизненного цикла ПО ИС. Модели жизненного цикла: каскадная модель с промежуточным контролем спиральная. Стадии жизненного цикла ПО ...
17452. ОРГАНИЗАЦИЯ РАЗРАБОТКИ ИНФОРМАЦИОННЫХ СИСТЕМ 147.5 KB
  ЛЕКЦИЯ №3. ОРГАНИЗАЦИЯ РАЗРАБОТКИ ИНФОРМАЦИОННЫХ СИСТЕМ Каноническое проектирование ИС. Стадии и этапы процесса канонического проектирования ИС. Цели и задачи предпроектной стадии создания ИС. Модели деятельности организации как есть и как должно быть. Состав ра
17453. АНАЛИЗ И МОДЕЛИРОВАНИЕ ФУНКЦИОНАЛЬНОЙ ОБЛАСТИ ВНЕДРЕНИЯ ИС: ВЕРСИЯ ДЛЯ ПЕЧАТИ И PDA 250 KB
  ЛЕКЦИЯ№4. АНАЛИЗ И МОДЕЛИРОВАНИЕ ФУНКЦИОНАЛЬНОЙ ОБЛАСТИ ВНЕДРЕНИЯ ИС: ВЕРСИЯ ДЛЯ ПЕЧАТИ И PDA. Основные понятия организационного бизнесмоделирования. Миссия компании дерево целей и стратегии их достижения. Статическое описание компании: бизнеспотенциал компании фун
17454. Спецификация функциональных требований к ИС 226 KB
  Лекция№5. Спецификация функциональных требований к ИС. Процессные потоковые модели. Процессный подход к организации деятельности организации. Связь концепции процессного подхода с концепцией матричной организации. Основные элементы процессного подхода: границы процес...
17455. МЕТОДОЛОГИИ МОДЕЛИРОВАНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ 157 KB
  ЛЕКЦИЯ №6. МЕТОДОЛОГИИ МОДЕЛИРОВАНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ Методологии моделирования предметной области. Структурная модель предметной области. Объектная структура. Функциональная структура. Структура управления. Организационная структура. Функциональноориентирован
17456. МОДЕЛИРОВАНИЕ БИЗНЕС-ПРОЦЕССОВ СРЕДСТВАМИ BPWIN 772 KB
  ЛЕКЦИЯ7. МОДЕЛИРОВАНИЕ БИЗНЕСПРОЦЕССОВ СРЕДСТВАМИ BPWIN. Caseсредства для моделирования деловых процессов. Инструментальная среда BPwin. Принципы построения модели IDEF0: контекстная диаграмма субъект моделирования цель и точка зрения. Диаграммы IDEF0: контекстная диаграмма