【发布时间】:2011-05-03 21:45:27
【问题描述】:
这有点主观,但我无法让 LLVM JIT 加快速度。即使打开惰性编译,Jitting 大量代码所花费的时间也是解释它们的 50 倍。
所以我想知道如何加快 jitting,我可以使用什么样的设置?
还有其他建议吗?
【问题讨论】:
这有点主观,但我无法让 LLVM JIT 加快速度。即使打开惰性编译,Jitting 大量代码所花费的时间也是解释它们的 50 倍。
所以我想知道如何加快 jitting,我可以使用什么样的设置?
还有其他建议吗?
【问题讨论】:
很抱歉,LLVM 作为 JIT 编译器不是很快,它作为 AOT/静态编译器更好。
我在llvm-lua 项目中遇到了同样的速度问题。我所做的是禁用大型 Lua 函数的 JIT 编译。 llvm-lua 没有开启延迟编译支持,因为 LLVM 需要太多的 C 堆栈空间才能从 Lua 协程运行。
如果你在程序的 main() 函数中使用它:
llvm::cl::ParseCommandLineOptions(argc, argv, 0, true);
它将从 LLVM 公开许多命令行选项,例如“-time-passes”,这将启用 LLVM 传递的计时,以查看 JIT 编译的哪些部分花费的时间最多。
【讨论】: