Add benchmarks

This commit is contained in:
Ukendio 2024-05-05 17:58:08 +02:00
parent 3573dc2a85
commit 77c7a862ea
2 changed files with 78 additions and 4 deletions

View file

@ -39,6 +39,29 @@ do
for _ in world:query(A, B, C, D, E, F, G, H) do for _ in world:query(A, B, C, D, E, F, G, H) do
end end
end) end)
local e = world:entity()
world:set(e, A, true)
world:set(e, B, true)
world:set(e, C, true)
world:set(e, D, true)
world:set(e, E, true)
world:set(e, F, true)
world:set(e, G, true)
world:set(e, H, true)
BENCH("Update Data", function()
for _ = 1, 100 do
world:set(e, A, false)
world:set(e, B, false)
world:set(e, C, false)
world:set(e, D, false)
world:set(e, E, false)
world:set(e, F, false)
world:set(e, G, false)
world:set(e, H, false)
end
end)
end end
local D1 = ecs:component() local D1 = ecs:component()
@ -132,6 +155,29 @@ do
for _ in world:query(A, B, C, D, E, F, G, H) do for _ in world:query(A, B, C, D, E, F, G, H) do
end end
end) end)
local e = world:entity()
world:set(e, A, true)
world:set(e, B, true)
world:set(e, C, true)
world:set(e, D, true)
world:set(e, E, true)
world:set(e, F, true)
world:set(e, G, true)
world:set(e, H, true)
BENCH("Update Data", function()
for _ = 1, 100 do
world:set(e, A, false)
world:set(e, B, false)
world:set(e, C, false)
world:set(e, D, false)
world:set(e, E, false)
world:set(e, F, false)
world:set(e, G, false)
world:set(e, H, false)
end
end)
end end
local D1 = ecs:component() local D1 = ecs:component()

View file

@ -8,6 +8,8 @@ local jecs = require(ReplicatedStorage.Lib)
local ecr = require(ReplicatedStorage.DevPackages.ecr) local ecr = require(ReplicatedStorage.DevPackages.ecr)
local newWorld = Matter.World.new() local newWorld = Matter.World.new()
local ecs = jecs.World.new() local ecs = jecs.World.new()
local mirror = require(ReplicatedStorage.mirror)
local mcs = mirror.World.new()
local A1 = Matter.component() local A1 = Matter.component()
local A2 = Matter.component() local A2 = Matter.component()
@ -35,6 +37,15 @@ local C5 = ecs:entity()
local C6 = ecs:entity() local C6 = ecs:entity()
local C7 = ecs:entity() local C7 = ecs:entity()
local C8 = ecs:entity() local C8 = ecs:entity()
local E1 = mcs:entity()
local E2 = mcs:entity()
local E3 = mcs:entity()
local E4 = mcs:entity()
local E5 = mcs:entity()
local E6 = mcs:entity()
local E7 = mcs:entity()
local E8 = mcs:entity()
local registry2 = ecr.registry() local registry2 = ecr.registry()
return { return {
@ -44,7 +55,7 @@ return {
Functions = { Functions = {
Matter = function() Matter = function()
for i = 1, 50 do for i = 1, 500 do
newWorld:spawn( newWorld:spawn(
A1({ value = true }), A1({ value = true }),
A2({ value = true }), A2({ value = true }),
@ -60,8 +71,8 @@ return {
ECR = function() ECR = function()
for i = 1, 50 do local e = registry2.create()
local e = registry2.create() for i = 1, 500 do
registry2:set(e, B1, {value = false}) registry2:set(e, B1, {value = false})
registry2:set(e, B2, {value = false}) registry2:set(e, B2, {value = false})
registry2:set(e, B3, {value = false}) registry2:set(e, B3, {value = false})
@ -78,7 +89,7 @@ return {
local e = ecs:entity() local e = ecs:entity()
for i = 1, 50 do for i = 1, 500 do
ecs:set(e, C1, {value = false}) ecs:set(e, C1, {value = false})
ecs:set(e, C2, {value = false}) ecs:set(e, C2, {value = false})
@ -89,6 +100,23 @@ return {
ecs:set(e, C7, {value = false}) ecs:set(e, C7, {value = false})
ecs:set(e, C8, {value = false}) ecs:set(e, C8, {value = false})
end
end,
Mirror = function()
local e = ecs:entity()
for i = 1, 500 do
mcs:set(e, E1, {value = false})
mcs:set(e, E2, {value = false})
mcs:set(e, E3, {value = false})
mcs:set(e, E4, {value = false})
mcs:set(e, E5, {value = false})
mcs:set(e, E6, {value = false})
mcs:set(e, E7, {value = false})
mcs:set(e, E8, {value = false})
end end
end end