Введение
1. Технология повышения производительности компиляторов 14
1.1 Тестовая база 15
1.2 Анализ производительности 16
1.2.1 Требования к поиску неоптимальностей и системе приоритетов 17
1.2.2 Причины неоптимальностей 17
1.2.3 Подходы к выявлению неоптимальностей 20
1.2.4 Структурная модель анализа 22
1.2.5 Классификация предложений и порядок поиска неоптимальностей 24
1.2.6 Анализ производительности на отдельной задаче 26
1.2.7 Оценки и предсказания 28
1.2.7.1 Оценка эффекта от реализации выработанных предложений 29
1.2.7.2 Предсказание пиковой производительности на задаче 30
1.2.8 Система приоритетов предложений 30
1.3 Контроль деградаций 31
1.3.1 Общая постановка задачи (модель) 32
1.3.2 Виды деградаций 33
1.3.3 Подходы к контролю деградаций 33
1.3.4 Частота замеров показателей производительности 34
1.4 Реализация технологии повышения производительности 36
1.4.1 Реализация процесса анализа производительности 38
1.4.2 Реализация процесса контроля деградаций 41
1.5 Результаты 44
1.6 Выводы 47
2 Система контроля деградаций 49
2.1 Метрические характеристики производительности 49
2.2 Метрики деградаций 51
2.3 Требования к выбору значений порога деградации 57
2.4 Методы оценки эффекта модификаций на производительность 57
2.4.1 Оперативная оценка общего времени выполнения 58
2.4.2 Альтернативные подходы к обеспечению оперативности методов оценки 62
2.4.2.1 Метод оценки по времени выполнения наиболее значимых фрагментов 62
2.4.2.2 Метод оценки по фактам применения оптимизаций 75
2.5 Реализация системы контроля деградаций 78
2.5.1 Основные положения методики контроля (проектные решения) 78
2.5.2 Стратегия контроля 79
2.5.3 Реализация методов оперативной оценки 80
2.5.4 Структура системы контроля деградаций 87
2.6 Результаты 89
2.7 Выводы 90
3 Исследования оптимизационных возможностей компиляторов .93
3.1 Требования к тестовому комплекту 94
3.2 Подходы к тестированию оптимизаций 97
3.3 Особенности реализации системы тестирования ОСТеТ 100
3.3.1 Специфика окружения 101
3.3.2 Метод тестирования и критерий полноты 101
3.3.3 Спецификация метода тестирования 105
3.3.4 Пример проектирования спецификации для оптимизации Loop
Fusion 107
3.3.5 Принципы построения тестов 109
3.3.6 Структура тестов 122
3.4 Результаты 125
3.5 Выводы 127
Заключение 129
Список литературы


