Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЗахар Полубесов
1 Оптимизация времени работы и качества генерируемого кода компиляторов Apache Harmony Куртов Николай Владимирович студент 3-го курса ФИТ НГУ руководитель: Фурсов Михаил Юрьевич
2 Компиляторы Jitrino Jitrino.JET Быстрая компиляция Отсутствие оптимизаций Jitrino.OPT Оптимизация генерируемого кода Длительная компиляция Два уровня промежуточного представления
3 Перекомпиляция Клиентский режим Максимально быстрый запуск Перекомпиляция "горячих" методов Серверный режим Агрессивная оптимизация В том числе Profile- guided optimization Продолжительное исполнения
4 Замена кода On-Stack-Replacement: Замена кода исполняемого метода "на лету" В Apache Harmony замена кода происходит на входе в метод
5 Профилирование Профилирование – сбор различных метрик о программе в момент ее выполнения для дальнейшей оптимизации Entry-Backedge profile Block profile Edge profile
6 Entry-Backedge Profile 2 счётчика: o число вызовов метода o число обратных переходов Используется как индикатор для перекомпиляции метода Требует минимум дополнительных ресурсов
7 Block profile Число исполнений каждого блока в коде метода Определяет "горячие" блоки Прост в реализации A: 100B: 100 C: 100D: 100
8 Edge Profile Показывает, число раз, которое выполнился каждый условный переход Допускает те же оптимизации, что и Block Profile Полезен для оптимизации code-layout A BC D EF
9 Состояние в начале работы Jitrino.JET поддерживает сбор данных Entry-Backedge профилирования Jitrino.OPT поддерживает сбор данных Edge и Value профилирования и использует их при оптимизации
10 Цели работы Jitrino.JET поддерживает сбор данных Entry-Backedge, Edge и Value профилирования Создание универсального режима работы, имеющего скорость старта клиентского режима и качество кода серверного режима
11 Вопросы?
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.