ТЕХНИКА ОПТИМИЗАЦИИ ПРОГРАММ

ТЕХНИКА ОПТИМИЗАЦИИ ПРОГРАММ

Предвыборка в процессорах AMD K6\Athlon и VIA C3
Предвыборка в процессорах P-III и P-4

Сводная характеристика инструкций предвыборки различных процессоров
Аппаратная предвыборка в микропроцессоре P-4
Эффективность предвыборки в многозадачных системах
Практическое использование предвыборки
Определение предпочтительной кэш-иерархии

Планирование дистанции предвыборки
Увеличение эффективности предвыборки.


Оптимизация структур данных под аппаратную предвыборку
Секреты копирования памяти или
Оптимизация копирования памяти
Оптимизация заполнения (инициализации) памяти
FECI QUOD POTUI, FACIANT MELIORA POTENTES
Часть III Машинная оптимизация
Сравнительный анализ оптимизирующих компиляторов языка Си\Си++

Сводная таблица
Оптимизация константных выражений
Замена переменных константными значениями ("размножение" констант)
Вычисление значения переменных на стадии компиляции ("свертка" констант)
Вычисление значений функций на стадии компиляции ("свертка" функций)
Удаление неиспользуемых переменных
Удаление копий переменных
Удаление неиспользуемых присвоений
Удаление лишних присвоений
Удаление лишних выражений[2]

Удаление лишних вызовов функций
Выполнение алгебраических упрощений
Оптимизация подвыражений
Сложение и вычитание
Деление
Взятие остатка
Умножение
Замена условных переходов арифметическими операциями
Удаление лишних условий
Удаление заведомо ложных условий

Балансировка логического древа
Создание таблицы переходов
Слияние циклов
Вынесение инвариантного кода за пределы цикла
Замена циклов с предусловием на циклы с постусловием
Замена инкремента цикла на декремент
Удаление ветвлений
Оптимизация передачи аргументов

Оптимизация пролога/эпилога функций
Оптимизация распределения переменных
Оптимизация инициализации строк
Оптимизация "мертвого" кода
Оптимизация константных условий
Смертельная схватка: Ассемблер vs. Компилятор
Краткий экскурс с историю или ассемблер – это всегда весна
Критерии оценки качества машинной оптимизации
Методики оценки качества машинной оптимизации

Сравнительный анализ основных компиляторов
Обсуждение результатов тестирования
Наглядная демонстрация качества машинной оптимизации

Определение ситуаций предпочтительного использования ассемблера
Особое замечание о создании защитного кода на ассемблере
Программирование на ассемблере как особый род творчества
Исходные тексты
Содержание раздела