LuaInterface C#:dostring vs dofile.是否值得加载一个将被多次调用到内存中的脚本?

任何人都可以通过加载一个lua脚本来合理地期望任何性能提升,这个脚本将被重复调用到内存中,以便通过LuaInterface的dostring()函数而不是dofile()执行?

我是否正确地假设通过减少每次迭代的文件系统访问来提高性能?

有没有办法在Lua VM中缓存脚本?

最佳答案 如果你想多次执行一些lua代码,更好的方法是使用LoadFile OR 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快得多.
因为它只需要一次编译.

点赞