首页 > Unity3D频道 > 【CSLight研究院】 > CSLight研究院之和uLua的效率对比第一弹
2014
08-13

CSLight研究院之和uLua的效率对比第一弹

原文:http://www.cnblogs.com/crazylights/p/3910810.html

初始化

CSLight研究院之和uLua的效率对比第一弹 - 雨松MOMO程序研究院 - 1

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

C#Light的Env 不等于Lua的LuaState

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

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

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

CSLight研究院之和uLua的效率对比第一弹 - 雨松MOMO程序研究院 - 2

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

CSLight研究院之和uLua的效率对比第一弹 - 雨松MOMO程序研究院 - 3

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

CSLight研究院之和uLua的效率对比第一弹 - 雨松MOMO程序研究院 - 4

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

CSLight研究院之和uLua的效率对比第一弹 - 雨松MOMO程序研究院 - 5

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

测试一结果:

CSLight研究院之和uLua的效率对比第一弹 - 雨松MOMO程序研究院 - 6

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

测试2结果:

CSLight研究院之和uLua的效率对比第一弹 - 雨松MOMO程序研究院 - 7

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

测试三结果:

CSLight研究院之和uLua的效率对比第一弹 - 雨松MOMO程序研究院 - 8

这项测试,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#
最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

CSLight研究院之和uLua的效率对比第一弹》有 8 条评论

  1. 杨龙 说:

    楼主还少说了一点,c#light不是外全面向对象的,因为不支持 class 继承

  2. zolroom 说:

    你少写了点。LUA可以调试, C light可以吗?

  3. Scott Lee 说:

    嗯,我也在测试使用cslight,用原生的会好一些,可以作双测试。脚本最麻烦的就是debug,如果是原生的,可以先在原生里debug,再在发布里打包成脚本,之前做的页游就是这么干的

  4. 王龙波 说:

    我想问下 你最开始图上 有个 函数啊上方 0个引用,1个引用,这个是什么插件……

  5. landye 说:

    哥们 你lua打成2进制你测试啊 别源码测试啊… 再说了 lua用luajit dll 来加载 别用ulua 不是一个档次

  6. 松鼠 说:

    支持~! 想问一下,用脚本代替原生代码,app store的审核上会不会有问题的?

留下一个回复

你的email不会被公开。