C#Light 和 uLua的对比第一弹

初始化

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

C#Light的Env 不等于Lua的LuaState

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

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

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

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

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

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

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

测试一结果:

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

测试2结果:

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

测试三结果:

这项测试,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#
     

C#Light 和 uLua的对比第一弹,布布扣,bubuko.com

时间: 2024-10-29 19:12:19

C#Light 和 uLua的对比第一弹的相关文章

自定义特效VIew第一弹之竖直TextView

自定义特效VIew第一弹之竖直TextView 别的不说,先给出效果 再给出代码 <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" > <com.example.empty.VerticalTextView android:layout_width="wrap_content" android:layout_

javascript之【贪吃蛇系列】第一弹:简单的贪吃蛇实现

参考博客:http://blog.csdn.net/sunxing007/article/details/4187038 以上博客是参考,毕竟第一次做,真让自己盲人摸象做不出来. 不过我在其上做了一些改进,界面等效果看起来更好一些. 下图是在Chrome上运行的效果,但是火狐和IE会不兼容,onkeydown事件不能正确调用 这里用了一张图把贪吃蛇制作过程的思想画了出来,画的有点简陋: 下面就是把代码发上来,上边有详细的解释: <html> <head> <title>

codechef 营养题 第一弹

第一弾が始まる! 定期更新しない! 来源:http://wenku.baidu.com/link?url=XOJLwfgMsZp_9nhAK15591XFRgZl7f7_x7wtZ5_3T2peHh5XXoERDanUcdxw08SmRj1a5VY1o7jpW1xYv_V1kuYao1Pg4yKdfG4MfNsNAEa codechef problems 第一弹 一.Authentication Failed原题题面Several days ago Chef decided to registe

FluentData 学习 第一弹

地址: http://fluentdata.codeplex.com/ 前世: FluentData 我们公司用的一个增删改查的里面的持久层.之前还不知道 这个持久层叫FluentData.  某天看见群里 说 某视频网站里面 居然在讲这个开发框架,还收费.我搜了一下.fluentdata有源代码. 这个13年有过记载.不过我是新手.什么也需要 学习一下.  和 室友说了一下微型orm ,他们 呢  用的  微型orm是 Dapper .可以去了解一下. 废话真多,完毕. FluentData

The Internet Communications Engine (Ice) 跨平台异构通讯方案 第一弹-ICE简介

.net中的通讯方案很多,从.net Remoting,MSMQ,Webservice,WSE,WCF等等,他们都有一个特点,易用,但是都不能跨语种异构,如果你服务端要用java开发,客户端用C#开发,或者其它语言譬如C++, Python,PHP, Ruby, Objective-C,等等,那么.net提供的解决方案将不再有效.现在,隆重推出跨平台异构方案ICE.ICE官网:http://www.zeroc.com/ice.html 简介:The Internet Communications

MongoDB第一弹

下载: MongoDB下载地址: http://www.mongodb.org/ 我下载的是windows32的MSI. 安装: next就可以. 新建: 新建data文件夹,在data里面再建db和log两个子目录. 启动: 进入cmd,到当前MongoDB的bin目录下面,启动 "mongd"!(不是mongo),修改db路径. 然后打开浏览器输入localhost:27017,会出现: 最后在cmd中启动mongo.exe,出现: 基本操作: insert: find: upda

Ubuntu闪电入门第一弹

目录: 一.设置主机名 1.临时修改主机名 2.永久修改主机名 二.设置网络 1.配置静态IP地址 2.配置DNS服务器解析 3.修改DNS本地解析 三.软件包管理 1.dpkg管理软件包 2.apt管理软件包 四.运行级别 五.文件传输工具lrszs 1.发送文件sz 2.接收文件rz 六.磁盘管理 1.磁盘分区 2.磁盘分区格式化 3.挂载磁盘分区 一.设置主机名 1.临时修改主机名(重启系统后失效) $ sudo hostname ikki $ hostname ikki 2.永久修改主机

C# 二进制替换第一弹 byte 数组替换

Unity 3D本地发布WebPlayer版时遇到提示:"Failed to download data file"(如上图),遇到这个问题就是指Web服务器并没有支持这种*.unity3d文件类型.需要做的是在Web服务器中添加MIME类型: 1.IIS 7 及以上版本: 在功能视图的IIS选项卡中: 双击打开MIME,选择"添加": .unity3d application/octet-stream 2.IIS6版本: 右击计算机名,选择属性,找到MIME类型,

你好,博客园!!第一弹~局域网下的简易聊天室,socket与多线程简结

发觉博客园里面关于这些基本知识点的详细内容真是应有尽有,所以这里的随笔就不再重复了,就积累一下简单的用法-- 1.Socket 最近学网络编程,也就是Socket,套接字,一个用来建立链接传输数据的工具. 数据传输发生在"客户端"与"服务端"之间,下面是一种建立连接传输数据的简单方法: (1)客户端 1 try{ 2 //服务端ip 3 String ip = "127.0.0.1"; 4 //服务器端口 5 int port = 5000; 6