From d4fbc409bf7e681e6929ad716594529a4b54431f Mon Sep 17 00:00:00 2001 From: Ukendio Date: Tue, 13 Aug 2024 21:06:49 +0200 Subject: [PATCH] Add visual benchmark for delete --- benches/visual/despawn.bench.luau | 48 +++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 benches/visual/despawn.bench.luau diff --git a/benches/visual/despawn.bench.luau b/benches/visual/despawn.bench.luau new file mode 100644 index 00000000..e765ba33 --- /dev/null +++ b/benches/visual/despawn.bench.luau @@ -0,0 +1,48 @@ +--!optimize 2 +--!native + +local ReplicatedStorage = game:GetService("ReplicatedStorage") +local Matter = require(ReplicatedStorage.DevPackages.Matter) +local ecr = require(ReplicatedStorage.DevPackages.ecr) +local jecs = require(ReplicatedStorage.Lib) +local rgb = require(ReplicatedStorage.rgb) +local newWorld = Matter.World.new() +local ecs = jecs.World.new() + +local A, B = Matter.component(), Matter.component() +local C, D = ecs:component(), ecs:component() + + +return { + ParameterGenerator = function() + local matter_entities = {} + local jecs_entities = {} + local entities = { + matter = matter_entities, + jecs = jecs_entities + } + for i = 1, 1000 do + table.insert(matter_entities, newWorld:spawn(A(), B())) + local e = ecs:entity() + ecs:set(e, C, {}) + ecs:set(e, D, {}) + table.insert(jecs_entities, e) + end + return entities + end; + + Functions = { + Matter = function(_, entities) + for _, entity in entities.matter do + newWorld:despawn(entity) + end + end; + + + Jecs = function(_, entities) + for _, entity in entities.jecs do + ecs:delete(entity) + end + end; + }; +}