<<
>>

Microsoft C.

В версии 5.0 своего компилятора Си корпорация Microsoft вывела высокий уровень оптимизации кода на рынок PC. Microsoft уделяет много внимания анализу циклов. C 5.0 – единственный из рассматриваемых компиляторов, который выполняет вынесение инвариантного кода и настоящее удаление переменных индукции циклов.

Компилятор Microsoft C 5.0 превосходно использует регистры, стараясь минимизировать обращения к памяти в теле цикла (см. рис. 4 и 5).

Простой пример цикла в коде теста демонстрирует степень оптимизации циклов, выполняемой Microsoft C 5.0 (см. рис. 3). Компилятор применяет снижение мощности и полностью удаляет константное умножение, выявляет конечное состояние переменных j5 и k5, и помещает в регистры все переменные внутри цикла.

Другой хороший пример оптимизации циклов этим компилятором отражен в функции unnecessary_loop. C 5.0 удаляет цикл for и генерирует код только с целью установки конечного состояния переменной - индекса цикла и оператора, включенного в цикл. Компилятор также хорошо использует регистры.

Внимание фирмы Microsoft к оптимизации вознаграждается при работе теста выполнения. Он выполняется за время, которое является лучшим или близко к лучшему по каждой категории.

<< | >>
Источник: Хислей Филипп. Генерация высококачественного кода для программ, написанных на СИ. 2010

Еще по теме Microsoft C.:

  1. М.Руссинович, Д.Соломон. Внутреннее устройство Microsoft Windows (главы 1–4), 2005
  2. Лариса Александровна Малинина Вадим Васильевич Лысенко Максим Анатольевич Беляев. Основы информатики: Учебник для вузов, 2006
  3. Плутон в III доме
  4. Если телевизор, то XXX
  5. Ложные друзья переводчика и редактора
  6. Имена, названия
  7. Навыки, хитрости, производительность
  8. БЛАГОДАРНОСТИ
  9. 5.3. Графическое представление данных
  10. «ЖЕЛАТЕЛЬНО» И «НЕОБХОДИМО»
  11. Журналистика и «общество знаний».
  12. Современный автоматизм
  13. Осмотр средств вычислительной техники
  14. 5.2. Техника редактирования таблиц10
  15. АМЕРИКА – КАЗАХСТАН: ТАК ЛИ БЛИЗКО ТО ДАЛЕКО?
  16. Л.О. Доліненко, В.О. Доліненко, С.О. Сарновська. Цивільне право України, 2006
  17. ЦИВІЛЬНЕ ПРАВО УКРАЇНИ