我有一个关于Lua的新手问题。
如果我在我的C ++应用程序中嵌入了一些Lua脚本。当我编译我的C ++应用程序时,是否将Lua脚本部分编译成机器代码,或者每次使用Lua解释器时C ++应用程序是否运行Lua脚本部分?
Web说使用LuaJIT会大大提高嵌入式脚本的性能,然后我猜C ++应用程序中的Lua脚本永远不会被编译成机器代码。
如果我想在这种情况下挤出所有性能,即,我想在Lua中编写部分程序以嵌入到C ++应用程序中。什么是我最好的选择?有什么东西可以用来将Lua部分编译成C ++ / C部分,这会改善性能吗?
答案 0 :(得分:1)
JIT编译器的重点是在运行时从源文件生成机器代码。
LuaJIT将寻找热点'在经常运行的代码中(例如内部循环或常用函数),并尝试将它们编译为机器代码。代码来自哪里并不重要;加载后,这完全无关紧要。