LuaJ 调用java方法性能研究

先简单写一下;

 

lua调用java的方法,在luaJ中有两种。

1 使用官方提供的luaJava库

local ins = luajava.newInstance( "com.test.lj.TestClass");
ins:test()

 

2 自己绑定方法,采用类似原版lua的方式将方法

local ins = TestClass.new()  --new方法自己绑定
ins:test()

哪种方法好?

 

结论:

令人惊讶的是,luajava库反射调用的性能在某些情况下,竟然比java原生绑定要快。

 

1  在对象方法数比较少的情况下,luajava生成的类的方法执行速度比java绑定要快一点,但基本一样。

2  在对象方法数多多情况下(复杂对象),luajava生成的类的执行速度比java绑定慢(可能是绑定了不相关的方法),我的一个测试对象执行结果,luajava比java的速度大概是 1.5 : 1

3 创建对象的速度上,java绑定远优于luajava,这个基接近2:1的关系了;

 

选择建议:

如果是偶然使用的一个对象,建议使用luajava,方便快捷,速度也不差

如果是经常new的对象或复杂的对象(但是实际只使用部分方法)建议用java绑定

 

(如果有需要,留言;我把测试代码放上来)

 

 

  

转载于:https://www.cnblogs.com/mingwuyun/p/5924911.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值