其lua是c實現的,只執行lua內計算代碼,速度很是快,例如100萬次加法,只須要0.008s左右;python
而當lua須要和c#交互,執行100萬次lua調用c#,消耗時間3.4sc#
測試了一下純c# 實現的 moonsharp 100萬次加法,消耗1.9s性能
性能和c實現的lua差了200多倍。測試
c#實現lua解釋器 moonsharp主要問題:lua
1:內存分配很是多,大量的臨時對象用於表示lua的變量對象
2:解釋器執行效率低下,100萬次加法 的解釋器執行消耗了9000ms,在開mono的profiler 進行分析的狀況下內存
由於moonsharp 沒有生成c#到lua的綁定代碼,暫時尚未測試lua訪問 c#的性能it
python 的性能和lua 大概相差10倍, 循環執行100萬次加法 0.089s 時間效率
slua 和 ulua 使用的是luajit, 若是使用luavm 100萬次加法時間消耗 0.011s變量