Обнаружение - неэффективное место - Большая Энциклопедия Нефти и Газа, статья, страница 1
Если бы у вас было все, где бы вы это держали? Законы Мерфи (еще...)

Обнаружение - неэффективное место

Cтраница 1


Обнаружение неэффективных мест в программе должно быть основано на принципах, исключающих возможность внесения ошибок в программу. Иначе говоря, прежде чем применять какое-либо оптимизирующее преобразование к программе, необходимо иметь гарантию, что выполнение этого преобразования не внесет ошибку в программу. Например, прежде чем исключить из программы некоторую переменную и вычисления, определяющие эту переменную, должно быть установлено, что эта переменная после определения нигде в прогр ам-ме не используется.  [1]

Для обнаружения неэффективных мест в контексте линейного участка в процессе просмотра строк промежуточного представления программы, входящих в линейный участок, формируются таблицы VALUE и NAME. В таблицу VALUE запись производится только для тех строк, в которых имеется знак операции.  [2]

В процессе обнаружения неэффективных мест в программе формируется таблица VALUE и модифицируются таблицы LOOP и BRANCH. Таблица VALUE формируется как результат нумерации значений. В ней записывается информация о возможности выполнения таких оптимизирующих преобразований, как исключение мертвых переменных, распространение констант, инициирование переменных, исключение повторных вычислений, чистка фрагментов, замена операции деления операцией умножения, уменьшение числа обращений к индексированным переменным, уменьшение числа обращений к встроенным ( стандартным) функциям и процедурам-функциям, исключение из цикла инвариантных вычислений, замена операции деления операцией умножения в цикле, перемещение вычислений в менее часто выполняемые участки программы, сокращение числа преобразований данных с помощью перегруппировки переменных.  [3]

В процессе обнаружения неэффективных мест в программе необходимо модифицировать таблицы LOOP и BRANCH для каждой процедуры, входящей в оптимизируемую программу.  [4]

Из вышеизложенного следует, что для обнаружения неэффективных мест в программах можно применить следующий алгоритм.  [5]

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

Области Тг - Tk заполняются в процессе обнаружения неэффективных мест в программе. В них записываются информация о возможности выполнения оптимизирующих преобразований над циклами.  [7]

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

Области ОРТ и NEWLAB таблицы BRANCH заполняются в процессе обнаружения неэффективных мест в программе.  [9]

Если при этом рассматриваемый операнд является результатом вычисления ( номером строки промежуточного представления) или константой, то ему номер значений присваивается по методу, используемому в алгоритме 7.1 обнаружения неэффективных мест в контексте линейного участка.  [10]

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

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

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

При этом каждое присвоение номера значений рассматриваемому элементу данных ei учитывается процедурой обнаружения узких мест в программе. Для этого каждый раз после присвоения рассматриваемому элементу данных e eC / se ( n ( 1) очередного номера значений вычисление ( строка промежуточного представления), содержащее этот элемент данных в качестве первого или второго операнда, обрабатывается процедурами нумерации значений и обнаружения неэффективных мест в программе. Присвоение номера значений вычислениям ( выражениям) производится обычным способом, как раньше.  [14]



Страницы:      1