首页 > 代码库 > C#Light 和 uLua的对比第一弹

C#Light 和 uLua的对比第一弹

初始化

image

做一样的初始化,其实是没办法对等的

C#Light的Env 不等于Lua的LuaState

C#Light的执行有完全的执行堆栈,完整的作用域,lua都没有

C#Light有完整的class 函数,继承特征,lua都没有

C#Light可以用VS做编辑器,lua?

image

为了保持平等对抗,三个测试先做一遍,再依次执行

image

测试1 ,简单的一次创建给个名字并销毁,测试300次

image

测试2,调用Debug.Log打印,执行300次

image

测试3,一次性在脚本里多调用一些方法,创建10个物体再销毁

 

测试一结果:

image

这项的测试时间uLua是原生的4.5倍,C#Light是原生的4.5倍,多次测试有时uLua快一点,有时C#Light快一点

测试2结果:

image

这项测试,C#Light几乎总比uLua快15%左右

测试三结果:

image

这项测试,uLua比C#快20%左右

 

 

测试的结果就是这样,有胜有负。还不足以全面衡量性能,有个大概概念吧。

而且性能并不是最重要的。

以原生为X1,和其他问题一起列了一张表

项目 uLua C#Light
性能测试一 X4.5 X4.5
性能测试二 X4.3 X3.63(快15%)
性能测试三 X6.87(快20%) X9.01
平台兼容性 Android IOS PC Mac
Unity全平台包括WebPlayer
非Unity支持微软全系列
Xamarin全系列
编辑器 lua专用编辑器或文本编辑器 VS MonoDevelop等C#编译器可兼容
注册类型 字符串注册 接口注册
调用方式 lua特色dostring,函数也要dostring调用,面向对象用table模拟 可以dostring
完全面向对象
可以直接调用脚本的类型,可以new 可以static访问
语法 lua C#