G
enby!

Дмитрий Соломенников — Компилируем компилятор, или Как мы ускорили компилятор Java (javac) вдвое

Подробнее о Java-конференциях: — весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— — Скачать презентацию с сайта JPoint — https://jrg.su/pmnwvx
Скорость компиляции Java в силу целого ряда причин невысокая, особенно если сравнивать с некоторыми другими языками. В Axiom JDK поставили и успешно решили задачу ускорения компиляции, добившись двукратного прироста скорости, а также заметного снижения потребления памяти и CPU при компиляции. Это важная задача, способная облегчить труд Java-разработчиков и использование вычислительных ресурсов на CI. Достигли этого с помощью технологии AOT, выполненной средствами Axiom NIK Pro. Ускорение достигается путем преобразования кода javac в машинный код. Такое преобразование возможно, поскольку в самом коде javac не используется Java Reflection. В тех местах, где она все же используется (флаг -processor), производится откат на Java-реализацию javac. Для этих целей модифицирован код Java launcher, он обрабатывает параметры командной строки и принимает решение, запускать ли AOT версию или запускать Java-версию javac. В докладе приведена статистическая информация, показаны разные способы ускорения Java-приложений, а также разобраны возможности использования полученных результатов для экономии ресурсов CI.

Смотрите также