Адаптивная оптимизация
-
Основы адаптивной оптимизации
- Адаптивная оптимизация изменяет код программы в зависимости от текущего профиля выполнения.
- Компромисс между своевременной компиляцией и интерпретацией инструкций достигается благодаря простоте реализации.
-
Преимущества адаптивной оптимизации
- Оптимизирует удаленные ветви и использует встроенное расширение для снижения стоимости вызовов процедур.
- Локальные условия обработки данных могут быть использованы для оптимизации.
-
Пример из банковской сферы
- Гипотетическое банковское приложение обрабатывает транзакции, включая чеки и депозиты.
- Адаптивный оптимизатор компилирует код для оптимизации в зависимости от преобладающих типов транзакций.
-
Рискованные предположения и откаты
- В некоторых системах, например, в Java, выполнение ряда инструкций может быть отменено.
- Оптимизатор может делать рискованные предположения о коде, но может «раскрутиться» и правильно интерпретировать инструкции при неверных предположениях.
-
Дополнительные ресурсы
- Ссылки на статью Мэтью Арнольда и других авторов о адаптивной оптимизации в JVM Jalapeño.
- Содержит ссылки на полный текст статьи в различных форматах.
Полный текст статьи: