Контекстно-зависимый Escape анализ в Falcon JIT
Евгений Рубан,
Azul Systems
Производительность современных JVM растет. Появляются новые оптимизации, направленные на улучшения быстродействия современных систем, в том числе достаточно много улучшений в Escape анализе в Java. Большинство популярных статей об Escape анализе представляют взгляд Java-разработчиков и основаны на исследовании поведения программ.
В этом докладе я поделюсь взглядом со стороны JIT-разработчика. Расскажу идеи, заложенные в новый Escape анализ, реализованный в Falcon — JIT компиляторе Zing VM.
Имея представление о принципах работы анализа, будет проще понять, какие шаблоны использования аллокаций поддаются анализу, а какие ещё нет. Также посмотрим на данные производительности — насколько быстрее работают приложения на JVM со включенным Escape анализом.