当前位置: 首页 > 工具软件 > LuaJ > 使用案例 >

lua java 性能分析_LuaJ 调用java方法性能研究

能翔宇
2023-12-01

先简单写一下;

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

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

 类似资料: