很抱歉地说,LLVM作为即时编译器并不是很快,它更适合作为AOT/静态编译器。在我的llvm-lua项目中,我也遇到了相同的速度问题。我所做的是禁用大型Lua函数的JIT编译。由于LLVM需要太多C堆栈空间才能从Lua协程运行,因此llvm-lua没有打开懒惰编译支持。此外,如果您在程序的main()函数中使用这个:llvm::cl::ParseCommandLineOptions(argc, argv, 0, true); 它将公开LLVM的许多命令行选项,例如“-time-passes”,它将启用LLVM通道的计时,以查看JIT编译的哪些部分需要最长时间。