Lua开发技巧-小表预填充
1、未使用预填充技术的代码
start = os.clock()
for i = 1, 1000000 do
local t = {}
t[1] = 1; t[2] = 2; t[3] = 3;
end
finish = os.clock()
print(finish - start)
运行时间:0.52
2、使用预填充技术的代码
start = os.clock()
for i = 1, 1000000 do
local t = {1, 2, 3}
t[1] = 1; t[2] = 2; t[3] = 3;
end
finish = os.clock()
print(finish - start)
运行时间:0.26
3、原理
Lua的Table在实现过程中采用数组和哈希表共同存储Table的元素,随着Table中元素的增多,数组和哈希表的大小是不断调整的,创建表格的时候预填充表格的大小,避免数组和哈希表的调整,提高代码执行效率。