最新 XLua 与 ILRuntime 性能对比

Unity技术开发干货 专栏收录该内容
51 篇文章 253 订阅 ¥99.00 ¥19.90

现在很多项目都使用xlua来开发整个项目,但是u3d是个C#语言为编程语言的引擎,一般lua项目中,我们会把逻辑运算量大,复杂度高,对性能有要求的代码写在C#代码,或者C++ DLL库中,比如加载,更新,框架,战斗等。

在Ilruntime 1.3版本之后,有稳定的调试插件(通过tcp 连接,因此可以真机调试),值绑定等功能后 也成为一个不错选择,程序员不需要更换语言来编写项目。至于它的局限性,对比lua来说都是半斤八两,比如主工程的泛型类无法导出,常用值类型需要生成wrap等(否则会有严重性能问题)。

目前很多人对Ilruntime 的看法有2点。 1,使用的项目比较少,未预见的坑比较多。 2,性能比较差,毕竟lua 有Jit, 在支持Jit的设备上是接近c的性能,大部分的性能损耗在接口交互上,而Ilruntime 是自己实现了一套解释器,是C#编写的,原生性能较差。 因此我打算做一个性能测试,看看真实的情况是什么。

使用的ILruntime库地址
https://github.com/Ourpalm/ILRuntime
使用的Xlua库地址
https://github.com/Tencent/xLua

注:环境说明

  • ILRuntime 1.6.0版本, Release模式,且生成了Binding文件
  • Xlua 2.1.14 生成了 WrapCode
  • Unity2018.4.10 编辑器环境下

总共对12段代码进行了测试。参考:

  • 6
    点赞
  • 11
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
<p> </p><p style="font-size:.95rem;"> ILRuntime项目为基于C#的平台(例如Unity)提供了一个纯C#实现,快速、方便且可靠的IL运行时,使得能够在不支持JIT的硬件环境(如iOS)能够实现代码的热更新 </p> <a href="http://ourpalm.github.io/ILRuntime/public/v1/guide/index.html#ILRuntime%E7%9A%84%E4%BC%98%E5%8A%BF"></a>ILRuntime的优势 <p style="font-size:.95rem;"> 同市面上的其他热更方案相比,ILRuntime主要有以下优点: </p> <ul style="font-size:.9rem;"><li style="font-size:1em;text-align:left;color:#525252;"> 无缝访问C#工程的现成代码,无需额外抽象脚本API </li> <li style="font-size:1em;text-align:left;color:#525252;"> 直接使用VS2015进行开发,ILRuntime的解译引擎支持.Net 4.6编译的DLL </li> <li style="font-size:1em;text-align:left;color:#525252;"> 执行效率是L#的10-20倍 </li> <li style="font-size:1em;text-align:left;color:#525252;"> 选择性的CLR绑定使跨域调用更快速,绑定后跨域调用的性能能达到slua的2倍左右(从脚本调用GameObject之类的接口) </li> <li style="font-size:1em;text-align:left;color:#525252;"> 支持跨域继承 </li> <li style="font-size:1em;text-align:left;color:#525252;"> 完整的泛型支持 </li> <li style="font-size:1em;text-align:left;color:#525252;"> 拥有Visual Studio的调试插件,可以实现真机源码级调试。支持Visual Studio 2015 Update3 以及Visual Studio 2017 </li> </ul> _____________________________________________________________________________________________________________ <p> <span style="font-size:24px;">本课程带领大家极速的上手ILRuntime中,让大家学会在Unity如何快速集成ILRuntime热更新技术~</span> </p>
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页

打赏

PassionY

你的赞同是对我的鼓励

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值