看看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()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值