Андрей Паньгин — Вызов нативных методов без JNI-оверхеда
Ближайшая конференция: JPoint 2024, 17 апреля (online), 24–25 апреля (offline, Москва)
Подробности и билеты: https://cutt.ly/AwDEziay
— —
Есть немало способов вызвать из Java код, написанный на другом языке: JNI, JNA, JNR-FFI и, конечно, долгожданный проект Panama. Проблема в том, что с любым из этих интерфейсов переход из Java в Native сопряжен с накладными расходами. Чаще всего оверхедом можно пренебречь, но бывают случаи, когда он превышает даже стоимость полезной работы.
До недавнего времени в погоне за производительностью Java-хакеры применяли недокументированное расширение HotSpot, однако в новых версиях JDK его уже нет. На замену удаленным Critical Natives была разработана библиотека для быстрого вызова внешних функций. В ее основе лежит JVMCI — интерфейс для подключения сторонних JIT-компиляторов.
В докладе мы познакомимся с JVMCI, увидим, чем он поможет в ускорении нативных вызовов, разберем ограничения подхода и сравним производительность с альтернативами.
#jni #native #hotspot #safepoint
Видео Андрей Паньгин — Вызов нативных методов без JNI-оверхеда канала JPoint, Joker и JUG ru
Подробности и билеты: https://cutt.ly/AwDEziay
— —
Есть немало способов вызвать из Java код, написанный на другом языке: JNI, JNA, JNR-FFI и, конечно, долгожданный проект Panama. Проблема в том, что с любым из этих интерфейсов переход из Java в Native сопряжен с накладными расходами. Чаще всего оверхедом можно пренебречь, но бывают случаи, когда он превышает даже стоимость полезной работы.
До недавнего времени в погоне за производительностью Java-хакеры применяли недокументированное расширение HotSpot, однако в новых версиях JDK его уже нет. На замену удаленным Critical Natives была разработана библиотека для быстрого вызова внешних функций. В ее основе лежит JVMCI — интерфейс для подключения сторонних JIT-компиляторов.
В докладе мы познакомимся с JVMCI, увидим, чем он поможет в ускорении нативных вызовов, разберем ограничения подхода и сравним производительность с альтернативами.
#jni #native #hotspot #safepoint
Видео Андрей Паньгин — Вызов нативных методов без JNI-оверхеда канала JPoint, Joker и JUG ru
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
Mark West — Building a Smart Security Camera with Raspberry Pi Zero, Java and AWSCay Horstmann — Feature evolution in Java 13 and beyondInterview and Q&A with Ted NewardThomas Wuerthinger — Maximizing performance with GraalVMCharles Nutter — Going Native: Foreign Functions on the JVMSimon Ritter — Getting the most from modern JavaAndres Almiray — JReleaser — releasing at the speed of lightThomas Wuerthinger, Oleg Šelajev — Workshop: GraalVM (part 1)Дмитрий Бундин — Повышаем производительность файлового I/O для JVM на LinuxЧто такое JokerАлексей Рагозин — Как и зачем эмулировать распределённый кластер в JVMJiří Holuša — Intel Optane DC and Java: Lessons learned in practiceShelley Lambert — Dismantling technical debt and hubrisTobi Ajila — The Eclipse OpenJ9 JVM a deep dive!Григорий Кошелев — Интеграция виртуальных машин NET и JavaГригорий Кошелев — Когда всё пошло по Кафке 2: Разгоняем продьюсеровАлександр Христофоров — Дешевле, надёжнее, проще: хранение петабайтов видео и фото в ОдноклассникахЛеонид Старцев — Как эволюционировать свою библиотеку на Kotlin безболезненно для клиентовGeoffrey De Smet — AI maintenance scheduling with OptaPlanner on QuarkusНикита Поваров, Роман Поборчий — Самопишущийся кодSteve Poole — Practical steps for creating safer software (Code included)