Lua Performance Tips 尽量使用local,局部变量的访问会比全局变量快很多(外部局部变量也比全局变量快不避免在程序中编译代码(将字符串编译为代码,如 loadstring(string.format("return %d", i))),可用闭包函数代替,如 function fk (k) return function () return k end end lua的table每次哈析分配空间为2的次方,尽量初始化的时候就告诉编译器table中元素的个数(直接用true赋值即可,不识别表达式)lua中相同字符串总是指向同一内存地址字符串连接很费时,对于大量连接操作,最好先用table存储起来,再connect用数组替代新对象能节省不少内存空间将循环内的函数定义到循环外,相应地,能重用的东西也放到循环外利用高阶函数,我们可以定义一个通用的缓存化函数 function memoize (f) local mem = {} setmetatable(mem, {__mode = "kv"}) return function (x) local r = mem[x] if r == nil then r = f(x) mem[x] = r end return r end end