其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变量