看看table.remove的效率。

local a = {} --just some tables to hold stuff
local b = {}


local TestCode = {}


function TimeTest()


local time = {}
for j = 1, #TestCode do
time[j] = 0
end


--do 5 runs testing each code block
for i = 1, 5 do
for j = 1, #TestCode do
local Code = TestCode[j]
local start = os.clock()
Code()
time[j] = time[j] + os.clock() - start
end
end


--find smallest time
local minimumTime = 1000
for j = 1, #TestCode do
if time[j] < minimumTime then minimumTime = time[j] end
end


for j = 1, #TestCode do
local percent = math.floor(100 * time[j] / minimumTime + 0.5)
print("Code " .. j .. ": " .. tostring(time[j] / 5) .. " (" .. percent .. "%)")
end
end


testt = {}
for i = 1, 10000 do
table.insert(testt ,i)
end




-- TEST CODE -------------------------------------------------------------------------
filename = "anim_2"
TestCode[1] = function() -- "Code 1"
for i = 1, 10000 do


table.remove(testt ,1)
--x=math.sin(1)+ math.cos(1)
end
end


TestCode[2] = function() -- "Code 2"
for i = 1, 10000 do


table.remove(testt ,#testt)
--x=math.sin(1) + math.cos(1)


end
end




TimeTest()

你可能感兴趣的:(看看table.remove的效率。)