为了账号安全,请及时绑定邮箱和手机立即绑定

是什么使JNI通话变慢?

是什么使JNI通话变慢?

千万里不及你 2019-10-24 10:33:04
我知道在Java中进行JNI调用时“跨越边界”很慢。不过,我想知道什么是它,使得它慢?进行JNI调用如此之慢时,底层的jvm实现会做什么?
查看完整描述

3 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

值得一提的是,并非所有标native有“ slow”的Java方法。其中一些是内在函数,使它们变得非常快。要检查哪些是固有的,哪些不是固有的,可以do_intrinsic在vmSymbols.hpp中查找。


查看完整回答
反对 回复 2019-10-24
?
慕少森

TA贡献2019条经验 获得超9个赞

基本上,JVM会为每个JNI调用解释性地构造C参数,并且不会对代码进行优化。


本文概述了更多细节


如果您有兴趣对基准JNI和本机代码进行基准测试,则该项目具有用于运行基准的代码。


查看完整回答
反对 回复 2019-10-24
  • 3 回答
  • 0 关注
  • 600 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信