'

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

Понравилась презентация – покажи это...





Слайд 0

Оптимизация Just – in - time компилятора методом профилирования значений Соколов Андрей Владимирович, ФФ НГУ, 3 курс, Andrew.V.Sokolov@gmail.com Руководитель: Фурсов Михаил Юрьевич 1 декабря 2006


Слайд 1

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


Слайд 2

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


Слайд 3

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


Слайд 4

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


Слайд 5

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


Слайд 6

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


Слайд 7

Список литературы “Value profiling and optimization”, Brad Calder, Peter Feller “Optimizing dynamically dispatched calls”, David Ungar “Profile-guided receiver class prediction”, David Grove, Jeffrey Dean http://harmony.apache.org


Слайд 8

Q&A Спасибо за внимание!


×

HTML:





Ссылка: