LuaJIT 是否能比 C 更快?
2018-7-15 9:29:49
收藏:0
阅读:253
评论:3
有没有一种情况,LuaJIT 可以比 C 执行代码更快?
通过搜索,我发现有些人谈论它至少可以与 C 代码竞争,但我从未见过/找到一个例子,也无法想象如何创建一个使 Lua 比 C 更快的设置,因为 Lua 似乎依赖于 C 库。
有没有人有(过)这样的情况,并/或可以向我展示 Lua 比 C 代码更快的例子?
点赞
用户5688146
你在混淆Lua和LuaJIT。第一个是一个纯解释器,没有接近“C的性能”。
另一方面,在LuaJIT中,虽然仍然是用C构建的,但是性能关键部分是直接用汇编语言实现的(DynASM,也与LuaJIT项目有关)。此外,正如其名所示,如果跟踪器认为这是正确的事情,你的Lua代码可以进行JIT编译。
这里你会发现一些(可能有点偏见的)代码,展示了LuaJIT在表查找方面有极快的速度,并且在这种情况下至少能够优于C/C++。 https://gist.github.com/spion/3049314
2020-11-09 22:56:21
用户4712919
就我所见,总的来说,编译语言的速度更快(但这只是我的估计,可能不够准确),而解释语言则更具可移植性,并且可以在运行时进行更改。
JIT是介于编译语言和解释语言之间的某种东西,你可以参加一门有关JIT的课程来了解它,但它的代码解释使其通常慢一些。虽然你可以接近“编译语言的速度”,但永远无法完全达到。
话虽如此,重要的是要将苹果与苹果进行比较,因此如果同样实现的代码,你绝对可以编写比Lua代码更慢的C代码,但功能却实现了相同的计算。
2021-08-12 09:52:01
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的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 代码?

根据这里的文档,Lua 是用 C 实现的。它的速度只能和 C 一样快,但更可能比 C 慢。它不能比自己实现的语言更快。