LLVM JIT加速选择?

vav*_*ava 10 jit llvm

这有点主观,但我很难让LLVM JIT加速.即使启用了延迟编译,Jitting大量代码也需要50倍的时间来解释它们.

所以我想知道如何加快速度,我可以使用哪种设置?

还有其他建议吗?

Neo*_*ium 10

我很遗憾地说LLVM作为JIT编译器并不是很快,它作为AOT /静态编译器更好.

我在llvm-lua项目中遇到了相同的速度问题.我所做的是禁用JIT编译大型Lua函数.llvm-lua没有启用延迟编译支持,因为LLVM需要太多的C-stack空间才能从Lua协同程序运行.

另外,如果你在程序的main()函数中使用它:

llvm::cl::ParseCommandLineOptions(argc, argv, 0, true);
Run Code Online (Sandbox Code Playgroud)

它将从LLVM中暴露出很多命令行选项,例如'-time-passes',这将启用LLVM传递的时序,以查看JIT编译的哪些部分花费的时间最多.