首页 > 代码库 > LuaJ 调用java方法性能研究
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绑定
(如果有需要,留言;我把测试代码放上来)
LuaJ 调用java方法性能研究
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。