This commit is contained in:
aaron 2023-08-07 00:58:11 +01:00
parent fa2709f182
commit 6f9e86c5c7
3 changed files with 73 additions and 20 deletions

View file

@ -135,11 +135,14 @@ BENCH("indexes() no change", function()
return {}
end)
state(state()) -- fill double buffer
START(N)
state(data)
end)
-- todo: find out what is causing allocation
BENCH("indexes() all change", function()
local data = {}
@ -153,6 +156,8 @@ BENCH("indexes() all change", function()
return {}
end)
state(state()) -- fill double buffer
for i, v in data do
data[i] = v + 1
end
@ -162,6 +167,26 @@ BENCH("indexes() all change", function()
state(data)
end)
BENCH("indexes() all remove", function()
local data = {}
for i = 1, N do
data[i] = i
end
local state = vide.source(data)
local _list = vide.values(state, function(v, i)
return {}
end)
table.clear(data)
START(N)
state(data)
end)
BENCH("values() no change", function()
local data = {}
@ -175,6 +200,8 @@ BENCH("values() no change", function()
return {}
end)
state(state()) -- fill double buffer
START(N)
state(data)
@ -193,6 +220,8 @@ BENCH("values() all change", function()
return {}
end)
state(state()) -- fill double buffer
for i = 1, N do
local r = math.random(1, #data)
data[i], data[r] = data[r], data[i]
@ -203,4 +232,24 @@ BENCH("values() all change", function()
state(data)
end)
BENCH("values() all remove", function()
local data = {}
for i = 1, N do
data[i] = {}
end
local state = vide.source(data)
local _list = vide.values(state, function(v, i)
return {}
end)
table.clear(data)
START(N)
state(data)
end)
return nil