slightly improve required fragments perf

This commit is contained in:
BlackMATov
2025-09-24 18:16:01 +07:00
parent 0aa57f6b5b
commit 9221da6ea7
3 changed files with 80 additions and 50 deletions
+12 -28
View File
@@ -9,10 +9,6 @@ local F1, F2, F3, F4, F5 = evo.id(5)
local Q1 = evo.builder():include(F1):spawn()
local B1 = evo.builder()
local B3 = evo.builder()
local B5 = evo.builder()
local R1 = evo.builder():require(F1):spawn()
local R3 = evo.builder():require(F1, F2, F3):spawn()
local R5 = evo.builder():require(F1, F2, F3, F4, F5):spawn()
@@ -103,11 +99,10 @@ print '----------------------------------------'
basics.describe_bench(string.format('Spawn Benchmarks: Builder Spawn | %d entities with 1 component', N),
function()
local set, spawn = B1.set, B1.spawn
local builder = evo.builder()
for _ = 1, N do
set(B1, F1)
spawn(B1)
builder:set(F1):spawn()
end
evo.batch_destroy(Q1)
@@ -115,13 +110,10 @@ basics.describe_bench(string.format('Spawn Benchmarks: Builder Spawn | %d entiti
basics.describe_bench(string.format('Spawn Benchmarks: Builder Spawn | %d entities with 3 components', N),
function()
local set, spawn = B3.set, B3.spawn
local builder = evo.builder()
for _ = 1, N do
set(B3, F1)
set(B3, F2)
set(B3, F3)
spawn(B3)
builder:set(F1):set(F2):set(F3):spawn()
end
evo.batch_destroy(Q1)
@@ -129,15 +121,10 @@ basics.describe_bench(string.format('Spawn Benchmarks: Builder Spawn | %d entiti
basics.describe_bench(string.format('Spawn Benchmarks: Builder Spawn | %d entities with 5 components', N),
function()
local set, spawn = B5.set, B5.spawn
local builder = evo.builder()
for _ = 1, N do
set(B5, F1)
set(B5, F2)
set(B5, F3)
set(B5, F4)
set(B5, F5)
spawn(B5)
builder:set(F1):set(F2):set(F3):set(F4):set(F5):spawn()
end
evo.batch_destroy(Q1)
@@ -147,11 +134,10 @@ print '----------------------------------------'
basics.describe_bench(string.format('Spawn Benchmarks: Builder Spawn | %d entities with 1 required component', N),
function()
local set, spawn = B1.set, B1.spawn
local builder = evo.builder()
for _ = 1, N do
set(B1, R1)
spawn(B1)
builder:set(R1):spawn()
end
evo.batch_destroy(Q1)
@@ -159,11 +145,10 @@ basics.describe_bench(string.format('Spawn Benchmarks: Builder Spawn | %d entiti
basics.describe_bench(string.format('Spawn Benchmarks: Builder Spawn | %d entities with 3 required components', N),
function()
local set, spawn = B3.set, B3.spawn
local builder = evo.builder()
for _ = 1, N do
set(B3, R3)
spawn(B3)
builder:set(R3):spawn()
end
evo.batch_destroy(Q1)
@@ -171,11 +156,10 @@ basics.describe_bench(string.format('Spawn Benchmarks: Builder Spawn | %d entiti
basics.describe_bench(string.format('Spawn Benchmarks: Builder Spawn | %d entities with 5 required components', N),
function()
local set, spawn = B5.set, B5.spawn
local builder = evo.builder()
for _ = 1, N do
set(B5, R5)
spawn(B5)
builder:set(R5):spawn()
end
evo.batch_destroy(Q1)