Talk

Calling native methods without a JNI overhead

  • In Russian
Presentation pdf

Существует немало способов вызвать из Java код, написанный на другом языке: JNI, JNA, JNR-FFI и, конечно, долгожданный проект Panama. Проблема в том, что с любым из этих интерфейсов переход из Java в Native сопряжен с накладными расходами. Чаще всего оверхедом можно пренебречь, но бывают случаи, когда он превышает даже стоимость полезной работы. До недавнего времени в погоне за производительностью Java-хакеры применяли недокументированное расширение Хотспота, однако в новых версиях JDK его уже нет.

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

  • #hotspot
  • #jni
  • #native
  • #safepoint

Speakers

Invited experts

Schedule