JDK外部函数Panama API性能超过了JNI
原文中文,约3200字,阅读约需8分钟。发表于: 。Java 本地调用 API 的 JMH 性能基准: JNI (通过 JavaCpp )、 JNA 、 JNR 、 Bridj 和 JDK JEP-424 外部函数/内存 API(预览版)。 结论:Java的外部函数接口现在在一个简单的测试中优于JNI。 测试: GetSystemTime使用 kernel32.dll 提供的Windows API 函数本机调用从当前系统时间获取秒数:...
本文通过性能基准测试比较了Java本地调用API的性能,发现外部函数接口优于JNI。测试结果显示JNA较慢,JNR略快于Bridj,但仍落后于JNI。JDK的外部API性能比JNI快两倍。Panama API本身比纯Java慢一点,但在本机调用性能方面领先。可以使用池化Arena进行分配并传递Linker.Option.critical()/isTrivial()给downcallHandle选项来进一步提高性能。