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


Содержание


Предвыборка в процессорах AMD K6\Athlon и VIA C3
Предвыборка в процессорах AMD K6\Athlon и VIA C3 - часть 2
Предвыборка в процессорах P-III и P-4
Предвыборка в процессорах P-III и P-4 - часть 2
Предвыборка в процессорах P-III и P-4 - часть 3
Сводная характеристика инструкций предвыборки различных процессоров
Аппаратная предвыборка в микропроцессоре P-4
Аппаратная предвыборка в микропроцессоре P-4 - часть 2
Эффективность предвыборки в многозадачных системах
Практическое использование предвыборки
Практическое использование предвыборки - часть 2
Практическое использование предвыборки - часть 3
Определение предпочтительной кэш-иерархии
Определение предпочтительной кэш-иерархии - часть 2
Определение предпочтительной кэш-иерархии - часть 3
Планирование дистанции предвыборки
Планирование дистанции предвыборки - часть 2
Планирование дистанции предвыборки - часть 3
Планирование дистанции предвыборки - часть 4
Планирование дистанции предвыборки - часть 5
Планирование дистанции предвыборки - часть 6
Планирование дистанции предвыборки - часть 7
Увеличение эффективности предвыборки.
Увеличение эффективности предвыборки. - часть 2
Увеличение эффективности предвыборки. - часть 3
Увеличение эффективности предвыборки. - часть 4
Увеличение эффективности предвыборки. - часть 5
Оптимизация структур данных под аппаратную предвыборку
Оптимизация структур данных под аппаратную предвыборку - часть 2
Оптимизация структур данных под аппаратную предвыборку - часть 3
Секреты копирования памяти или
Оптимизация копирования памяти
Оптимизация копирования памяти - часть 2
Оптимизация копирования памяти - часть 3
Оптимизация копирования памяти - часть 4
Оптимизация копирования памяти - часть 5
Оптимизация копирования памяти - часть 6
Оптимизация копирования памяти - часть 7
Оптимизация копирования памяти - часть 8
Оптимизация копирования памяти - часть 9
Оптимизация копирования памяти - часть 10
Оптимизация копирования памяти - часть 11
Оптимизация копирования памяти - часть 12
Оптимизация копирования памяти - часть 13
Оптимизация копирования памяти - часть 14
Оптимизация копирования памяти - часть 15
Оптимизация копирования памяти - часть 16
Оптимизация заполнения (инициализации) памяти
Оптимизация заполнения (инициализации) памяти - часть 2
Оптимизация заполнения (инициализации) памяти - часть 3
Оптимизация заполнения (инициализации) памяти - часть 4
FECI QUOD POTUI, FACIANT MELIORA POTENTES
Часть III Машинная оптимизация
Сравнительный анализ оптимизирующих компиляторов языка Си\Си++
Сводная таблица
Оптимизация константных выражений
Замена переменных константными значениями ("размножение" констант)
Вычисление значения переменных на стадии компиляции ("свертка" констант)
Вычисление значений функций на стадии компиляции ("свертка" функций)
Удаление неиспользуемых переменных
Удаление копий переменных
Удаление неиспользуемых присвоений
Удаление лишних присвоений
Удаление лишних выражений[2]
Удаление лишних вызовов функций
Выполнение алгебраических упрощений
Оптимизация подвыражений
Сложение и вычитание
Деление
Взятие остатка
Умножение
Замена условных переходов арифметическими операциями
Удаление лишних условий
Удаление заведомо ложных условий
Балансировка логического древа
Балансировка логического древа - часть 2
Создание таблицы переходов
Разворачивание циклов
Слияние циклов
Вынесение инвариантного кода за пределы цикла
Замена циклов с предусловием на циклы с постусловием
Замена инкремента цикла на декремент
Удаление ветвлений
Оптимизация передачи аргументов
Оптимизация пролога/эпилога функций
Оптимизация распределения переменных
Оптимизация инициализации строк
Оптимизация "мертвого" кода
Оптимизация константных условий
Заключение
Смертельная схватка: Ассемблер vs. Компилятор
Краткий экскурс с историю или ассемблер – это всегда весна
Критерии оценки качества машинной оптимизации
Методики оценки качества машинной оптимизации
Методики оценки качества машинной оптимизации - часть 2
Сравнительный анализ основных компиляторов
Сравнительный анализ основных компиляторов - часть 2
Обсуждение результатов тестирования
Обсуждение результатов тестирования - часть 2
Наглядная демонстрация качества машинной оптимизации
Наглядная демонстрация качества машинной оптимизации - часть 2
Наглядная демонстрация качества машинной оптимизации - часть 3
Наглядная демонстрация качества машинной оптимизации - часть 4
Наглядная демонстрация качества машинной оптимизации - часть 5
Определение ситуаций предпочтительного использования ассемблера
Определение ситуаций предпочтительного использования ассемблера - часть 2
Определение ситуаций предпочтительного использования ассемблера - часть 3
Особое замечание о создании защитного кода на ассемблере
Особое замечание о создании защитного кода на ассемблере - часть 2
Программирование на ассемблере как особый род творчества
Заключение
Исходные тексты
Исходные тексты - часть 2



- Начало -