Андрей Паньгин — Вызов нативных методов без JNI-оверхеда

Описание к видео Андрей Паньгин — Вызов нативных методов без JNI-оверхеда

Ближайшая конференция — Joker 2024, 9 октября (Online), 15–16 октября (Санкт-Петербург + трансляция).
Подробности и билеты: https://jrg.su/Ypf1HW
— —
Есть немало способов вызвать из Java код, написанный на другом языке: JNI, JNA, JNR-FFI и, конечно, долгожданный проект Panama. Проблема в том, что с любым из этих интерфейсов переход из Java в Native сопряжен с накладными расходами. Чаще всего оверхедом можно пренебречь, но бывают случаи, когда он превышает даже стоимость полезной работы.

До недавнего времени в погоне за производительностью Java-хакеры применяли недокументированное расширение HotSpot, однако в новых версиях JDK его уже нет. На замену удаленным Critical Natives была разработана библиотека для быстрого вызова внешних функций. В ее основе лежит JVMCI — интерфейс для подключения сторонних JIT-компиляторов.

В докладе мы познакомимся с JVMCI, увидим, чем он поможет в ускорении нативных вызовов, разберем ограничения подхода и сравним производительность с альтернативами.

#jni #native #hotspot #safepoint

Комментарии

Информация по комментариям в разработке