首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >llvm/工具:与LuaJIT相比,lli REPL

llvm/工具:与LuaJIT相比,lli REPL
EN

Stack Overflow用户
提问于 2010-10-30 03:19:56
回答 1查看 1.5K关注 0票数 7

我想知道是否有人有使用llvm/tools - lli解释器/JIT-编译器的经验。http://llvm.org/docs/GettingStarted.html#tools)。我对您能提供的任何信息(速度、复杂性、实现等)都很感兴趣。

谢谢。

更新:

好的,假设LuaJIT充当解释器,那么位代码执行与lli虚拟机执行相比如何呢?当lli充当jit编译器时会怎么样(同样的比较)?

注意:我只是在问是否有人有经验/愿意抽出一些时间来分享。

EN

回答 1

Stack Overflow用户

发布于 2011-10-06 14:43:01

LuaJIT是一个跟踪JIT,这意味着它可以重新优化自己,以更好地适应通过执行环境传递的数据,然而,LLVM是一个静态JIT,因此只会为相应的源代码生成一次性的最佳情况机器码,这可能会导致它在紧密循环或错误分支预测中失去性能。

实际的LLVM也是高度优化的、线程化的、特定于机器的汇编,因为LuaJIT虚拟机将C++用于可移植性(以及其他原因),因此这显然给LuaJIT带来了巨大的优势。LLVM的开销也比LuaJIT高得多,这纯粹是因为LuaJIT的设计目的是在功能较弱的系统上工作(比如那些由ARM CPU驱动的系统)。

LuaJIT字节码也是专门为LuaJIT设计的,因为LLVM的位码更加通用,这显然会使LuaJIT的执行速度更快。LuaJIT的字节码也为编码、优化提示等进行了很好的设计,以供JIT和跟踪程序使用。

忽略了这两种不同类型的JIT的事实,整个比较归结为LLVM专注于作为通用的JIT/编译器后端,LuaJIT专注于以最好的方式尽可能快地执行Lua,因此它从不受通用性的限制中获益。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4055158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档