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

 

(如果有需要,留言;我把測試代碼放上來)

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM