Оптимизирующий компилятор - Большая Энциклопедия Нефти и Газа, статья, страница 2
Россия - неунывающая страна, любой прогноз для нее в итоге оказывается оптимистичным. Законы Мерфи (еще...)

Оптимизирующий компилятор

Cтраница 2


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

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

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

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

В обучении программированию и практике применения ПЭВМ сейчас широко используется и язык Паскаль благодаря его структурированности, четкой и однозначной грамматике, удобству работы с файловыми структурами. Однако некоторая громоздкость записи программ из-за необходимости описания всех используемых объектов, недостаточная развитость проблемного математического обеспечения, отсутствие оптимизирующих компиляторов на некоторых ПЭВМ являются препятствием при решении задач математического моделирования на языке Паскаль.  [20]

Затраты процессорного времени, необходимого для выполнения программы, пропорциональны величине ( NRD 1) - NWB-NF-NWC. Как видно из приведенного ниже примера, эти затраты могут быть весьма значительны, поэтому, если есть возможность, для трансляции программы следует использовать оптимизирующие компиляторы, особенно в тех случаях, когда оптимизатор передает в область ввода-вывода целые блоки, а не отдельные слова. Применение хорошо оптимизирующего компилятора, организующего ввод-вывод сблокированных записей, позволяет уменьшить затраты процессорного времени почти в 10 раз.  [21]

Фортран отличается недостаточной структурированностью, наличием множества архаизмов, сохранившихся со времен первых ЭВМ, неконтроли-рованностью объявлений и введением новых переменных по умолчанию. Но в то же время накоплен богатый опыт применения языка и созданы обширные пакеты программ для решения прикладных задач, разработано системное математическое обеспечение и, в частности, оптимизирующие компиляторы для использования Фортрана на разных ЭВМ. Ученых и инженеров Фортран привлекает простотой работы с комплексными переменными и функциями.  [22]

Параметры сглаживающего сплайна вычисляем с помощью процедуры SMOSPL, реализованной на алгоритмическом языке PL / I в версии PL / 1 ( О), которая является входным языком оптимизирующего компилятора PL / I операционной системы ОС ЕС ЭВМ. Последнее обстоятельство оказывается решающим, если расчеты выполняются на малых ЭВМ серии ЕС.  [23]

Позиция после перехода называется отсрочкой ветвления. Pentium II ( а также машина, используемая в листинге 4.5) не обладает таким качеством, но обойти эту проблему путем усложнения внутреннего устройства чрезвычайно тяжело. Оптимизирующий компилятор постарается найти какую-нибудь полезную команду, чтобы поместить ее в отсрочку ветвления, но часто ничего подходящего нет, поэтому компилятор вынужден вставлять туда команду NOP. Это сохраняет правильность программы, но зато программа становится больше по объему и работает медленнее.  [24]

Затраты процессорного времени, необходимого для выполнения программы, пропорциональны величине ( NRD 1) - NWB-NF-NWC. Как видно из приведенного ниже примера, эти затраты могут быть весьма значительны, поэтому, если есть возможность, для трансляции программы следует использовать оптимизирующие компиляторы, особенно в тех случаях, когда оптимизатор передает в область ввода-вывода целые блоки, а не отдельные слова. Применение хорошо оптимизирующего компилятора, организующего ввод-вывод сблокированных записей, позволяет уменьшить затраты процессорного времени почти в 10 раз.  [25]

Работа программы-компилятора очень похожа на работу литературного переводчика. Такие интеллектуальные компиляторы называют оптимизирующими компиляторами. Большинство компиляторов современных языков программирования являются оптимизирующими.  [26]

Мы видим, что третий способ, который, несомненно, неестествен, никогда не оказывается наилучшим. Первый способ непосредственно реализует необходимые вычисления. Можно было бы предположить, что оптимизирующие компиляторы ( до некоторой степени все эти компиляторы оптимизирующие) могут сгенерировать наилучший код для некоторых частных случаев вычислений, по крайней мере для цикла из двух строк. Однако только компилятор FTN сумел это сделать, а другие сгенерировали коды, которые существенно менее эффективны: от 15 до 49 % потери эффективности.  [27]

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

Процессорное время, требуемое для выполнения программы, пропорционально величине ( NP 1) - NC-NB. Так же как и для программы FODK01, эти затраты могут быть довольно значительны, о чем свидетельствует приведенный ниже пример. Время работы накопителя на магнитных лентах можно уменьшить с помощью применения оптимизирующего компилятора, что позволяет также значительно сократить затраты процессорного времени.  [29]

Это интегрированное приложение предоставляет полный набор инструментов программирования. Developer Studio предоставляет мастера АррWizard и ClassWizard для генерирования исходных кодов программ, определения классов C, создания обработчиков сообщений Windows и выполнения других задач. С помощью Developer Studio можно построить и выполнить программу, автоматически вызывая оптимизирующий компилятор, пошаговый компоновщик и другие необходимые инструментальные средства. Встроенный отладчик дает возможность протестировать программу.  [30]



Страницы:      1    2    3