码迷,mamicode.com
首页 > 编程语言 > 详细

LuaJ 调用java方法性能研究

时间:2016-09-30 23:26:59      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:

先简单写一下;

 

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绑定

 

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

 

 

  

LuaJ 调用java方法性能研究

标签:

原文地址:http://www.cnblogs.com/mingwuyun/p/5924911.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!