Оптимизация времени работы и качества генерируемого кода компиляторов Apache Harmony Куртов Николай Владимирович e-mail: nkurtov@gmail.com студент 3-го.

Презентация:



Advertisements
Похожие презентации
Оптимизация Just – in - time компилятора методом профилирования значений Соколов Андрей Владимирович, ФФ НГУ, 3 курс, Руководитель:
Advertisements

Дипломная работа «Оптимизации генерации кода в JIT- компиляторе виртуальной машины Java» Научный руководитель Куксенко С.В. Рецензент Салищев С.И. Выполнил.
ПРЕЗЕНТАЦИЯ НА ТЕМУ: ПРЕЗЕНТАЦИЯ НА ТЕМУ: ВИДЫ ТРАНСЛЯЦИИ Составил: Ревнивцев М.В Преподаватель: Кленина В.И.
Unit-тестирование и метрики покрытия кода тестами Сергей Андреев, JetBrains 29 февраля 2012.
Apache Harmony или как сделать курсовую работу в рамках этого проекта Фурсов Михаил.
Платформа Java. Компиляция Динамическая компиляция Just-in-time (оперативная) компиляция Динамическая компиляция HotSpot Непрерывная перекомпиляция.
Язык высокого уровня компилятор Программа компиляторов Сделал:Студент группы:Ис-2о(очная)Воротов Валентин.
Исполнение программы Энциклопедия учителя информатики Газета «Первое сентября»
BPM: от простого к сложному. Workflow автоматизация – первый шаг построения корпоративной BPM системы, анализ практического опыта Андреев Владимир DocsVision,
1 Кубенский А.А. Функциональное программирование. Глава 5. Системы исполнения функциональных программ. Глава 5. Системы исполнения функциональных программ.
Учебный курс Основы операционных систем Лекция 2 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Учебный курс Введение в цифровую электронику Лекция 5 Обмен информацией в микропроцессорной системе кандидат технических наук, доцент Новиков Юрий Витальевич.
Основы современных операционных систем Лекция 8. (C) В.О. Сафонов, Понятие процесса Состояния процесса Блок управления процессом Диспетчеризация.
Комплексный подход к решению проблем визуализации, анализа и модификации объектных модулей под Interix ЛОБАЧЕВ Александр Юрьевич E mail:
Универсальная интерактивная среда визуализации атрибутированных иерархических графовых моделей Золотухин Т.А. 4 курс ФИТ НГУ Колбин Д.С. 4 курс ФИТ НГУ.
Методы комбинаторной оптимизации в задачах расположения сервисов в дата-центрах Дипломная работа студента 545 группы Шалупова Л.Б. Научный руководитель:
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ МОСКОВСКИЙ ФИЗИКО - ТЕХНИЧЕСКИЙ ИНСТИТУТ (государственный университет) Решение задачи восстановления профильной.
Технология MVC в высоконагруженных проектах Андрей Шетухин Илья Космодемьянский.
EXtreme Programming XP Тема 7. XP Ant – инструмент для создания, развертывания, запуска программ Java, создания базы данных, выполнения различных проверок.
НГ 001 НГ 002 НГ 003 НГ 004 НГ 005 НГ 006 НГ 007.
Транксрипт:

Оптимизация времени работы и качества генерируемого кода компиляторов Apache Harmony Куртов Николай Владимирович студент 3-го курса ФИТ НГУ руководитель: Фурсов Михаил Юрьевич

Компиляторы Jitrino Jitrino.JET Быстрая компиляция Отсутствие оптимизаций Jitrino.OPT Оптимизация генерируемого кода Длительная компиляция Два уровня промежуточного представления

Перекомпиляция Клиентский режим Максимально быстрый запуск Перекомпиляция "горячих" методов Серверный режим Агрессивная оптимизация В том числе Profile- guided optimization Продолжительное исполнения

Замена кода On-Stack-Replacement: Замена кода исполняемого метода "на лету" В Apache Harmony замена кода происходит на входе в метод

Профилирование Профилирование – сбор различных метрик о программе в момент ее выполнения для дальнейшей оптимизации Entry-Backedge profile Block profile Edge profile

Entry-Backedge Profile 2 счётчика: o число вызовов метода o число обратных переходов Используется как индикатор для перекомпиляции метода Требует минимум дополнительных ресурсов

Block profile Число исполнений каждого блока в коде метода Определяет "горячие" блоки Прост в реализации A: 100B: 100 C: 100D: 100

Edge Profile Показывает, число раз, которое выполнился каждый условный переход Допускает те же оптимизации, что и Block Profile Полезен для оптимизации code-layout A BC D EF

Состояние в начале работы Jitrino.JET поддерживает сбор данных Entry-Backedge профилирования Jitrino.OPT поддерживает сбор данных Edge и Value профилирования и использует их при оптимизации

Цели работы Jitrino.JET поддерживает сбор данных Entry-Backedge, Edge и Value профилирования Создание универсального режима работы, имеющего скорость старта клиентского режима и качество кода серверного режима

Вопросы?