--------------------------------------------------------
直接对表进行访问与赋值
local vtbl = {}
local t = {}
--setmetatable(t, {__index = vtbl,
-- __newindex = vtbl
-- })
local t1 = os.clock()
for i = 1, 10000000, 1 do
t[1] = i
end
local t2 = os.clock()
print(t2 - t1)
>lua -e "io.stdout:setvbuf 'no'" "main.lua"
0.263
>Exit code: 0
----------------------
通过设置元表为某table来实现访问与赋值:
local vtbl = {}
local t = {}
setmetatable(t, {__index = vtbl,
__newindex = vtbl
})
local t1 = os.clock()
for i = 1, 10000000, 1 do
t[1] = i
end
local t2 = os.clock()
print(t2 - t1)
输出结果:
>lua -e "io.stdout:setvbuf 'no'" "main.lua" <