谁能告诉我是否可以通过将将被重复调用的lua脚本加载到内存中以通过LuaInterface的 dostring()
功能而不是 dofile()
来执行,来合理地预期会提高性能吗?
我是否认为通过减少每次迭代的文件系统访问性能会更好而正确吗?
有什么方法可以在 Lua VM 中缓存脚本吗?
最佳答案
如果要多次执行某些lua代码,更好的方法是使用LoadFile或LoadString。
将Lua代码作为LuaFunction加载,例如:
LuaFunction lf = xxx.LoadString("some lua code"); // xxx is an instance of LuaInterface
lf.Call(); // you can also deliver some arguments
这比DoFile和DoString快得多。
因为只需要一次编译。