与Mono比较Lua
我想进行一些研究,但我找不到关于这个主题的任何信息。
我找到的唯一信息 -> http://benchmarksgame.alioth.debian.org/u32/compare.php?lang=csharp&lang2=lua
而且我不确定如何解释这张图表。 如果我没错的话,它基本上是说Lua比Mono快10倍。 但Mono的内存使用率比Lua好约8倍。
这对性能有什么影响?
比较Lua和Mono -> 优势/劣势
编辑: [游戏开发] Cryengine 3目前使用c++/lua。但是有些人正在发布此引擎的mono端口。 我对Mono非常熟悉。 但现在我想研究Lua,看看它是否值得学习这种语言,或者我应该坚持使用Mono。
你正在比较 不相干的事物。C# 是一种静态类型的语言,编译后生成 CIL 字节码,由虚拟机运行(通常是 JITted),用于网页和独立应用程序开发。Lua 是一种动态类型的脚本语言,通常由解释器运行,经常作为可扩展脚本语言嵌入到更大型应用程序中。
而且,你对基准测试的解释是错误的。条形图显示,与等效的 Lua 程序相比,Mono 程序的运行时间约为其的 1/10。
尽管如此,这种微基准测试在很大程度上是无用的。不要听从我的话,读一下 Shootout 自己的意见。你应该读整个内容,不过我会拿出一些引人注目的引文:
“即使基准测试的性能是从真实的程序中派生出来的,也可能无法帮助预测具有不同热点的类似程序的性能。”
“在高吞吐量环境中使用解释语言可能看起来自相矛盾,但我们发现 CPU 时间很少是限制因素。语言的表达能力意味着大多数程序都很小,花费大部分时间在 I/O 和本地运行时代码上。”
“将编程语言彼此比较,就好像它们的设计者打算将它们用于完全相同的目的一样——这是不可能的。”
长话短说:根据它在你想要做的事情上表现如何,它是否能让你清晰地表达意图,它是否能让你编写干净、易于维护的代码,选择你的语言;而不是根据一些很大程度上没有意义的数字。
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
这句话的意思是:苹果比香蕉更绿。
你不能仅仅说“Lua 消耗的内存比 C# 少,但需要的 CPU 循环次数多大约 50%”,你必须将它们相对于你的上下文进行比较,例如你想构建什么。
如果您想计算 5*5,好吧,Lua 可能更快(从实现的角度来看)。但是如果你想建立一个带有许多客户端的 ERP 应用程序,我不建议你使用 Lua。
因此,我们无法为您提供明确的优缺点列表,因为它非常依赖于您想要做什么。