Оптимизация Just – in - time компилятора методом профилирования значений

Содержание

Слайд 2

Цели проекта

Реализовать решение для оптимизации работы скомпилированного Java-кода.
Проведя сравнительный анализ с другими

Цели проекта Реализовать решение для оптимизации работы скомпилированного Java-кода. Проведя сравнительный анализ
разработками, скомпоновать и интегрировать решение в проект Apache Harmony
http://harmony.apache.org

Слайд 3

Что такое оптимизация методом профилирования значений?

Весь процесс состоит из нескольких этапов:
Запуск исходного

Что такое оптимизация методом профилирования значений? Весь процесс состоит из нескольких этапов:
приложения со сбором статистической информации об использовании переменных
Анализ собранных данных, принятие решения о возможных оптимизациях
Перекомпилирование кода с применением выбранных методов оптимизации

Слайд 4

Профилируемое исполнение

Для сбора информации об используемых в процессе исполнения переменных применяются профайлеры
Их

Профилируемое исполнение Для сбора информации об используемых в процессе исполнения переменных применяются
задача – выявить часто встречаемые значения, применяя один из алгоритмов:
TVN
Сбор всех значений переменной с последующей сортировкой по количеству встреч

Слайд 5

Анализ собранных данных

Для эффективной оптимизации представляют интерес
«Горячие» методы
Методы, где значения переменных можно

Анализ собранных данных Для эффективной оптимизации представляют интерес «Горячие» методы Методы, где
описывать как квазиконстанты
Операторы ветвления (условные переходы)

Слайд 6

Методы оптимизации

Перекомпоновка кода для лучшего предсказания переходов
if ( cond ) if (

Методы оптимизации Перекомпоновка кода для лучшего предсказания переходов if ( cond )
!cond )
oper1; => oper2;
else else
oper2; oper1;
Специализация кода
if ( var == _const )
doSpecializedCode();
else
doUsualCode();

Слайд 7

Контрольные точки

Выработать схему проекта сделано
Имплементировать профайлер 01.01.07
Выбор алгоритма сделано
Его реализация сделано
Отладка, проверка

Контрольные точки Выработать схему проекта сделано Имплементировать профайлер 01.01.07 Выбор алгоритма сделано
на тестах сделано
Интегрирование в существующие компиляторы в процессе
Реализация анализатора статистики 15.02.07
Реализация модуля перекомпилирования 25.03.07
Тестирование, написание документации к проекту. Интегрирование в Apache Harmony 01.06.07

Слайд 8

Список литературы

“Value profiling and optimization”,
Brad Calder, Peter Feller
“Optimizing dynamically dispatched calls”,
David

Список литературы “Value profiling and optimization”, Brad Calder, Peter Feller “Optimizing dynamically
Ungar
“Profile-guided receiver class prediction”,
David Grove, Jeffrey Dean
http://harmony.apache.org
Имя файла: Оптимизация-Just-–-in---time-компилятора-методом-профилирования-значений.pptx
Количество просмотров: 316
Количество скачиваний: 0