Skip to content

Commit c072842

Browse files
authored
Merge pull request #44 from BlackMATov/dev
Dev
2 parents f6b8844 + 39c0b98 commit c072842

32 files changed

Lines changed: 1574 additions & 331 deletions

README.md

Lines changed: 252 additions & 4 deletions
Large diffs are not rendered by default.

develop/ROADMAP.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
## Thoughts
1010

1111
- We should have a way to not copy components on deferred spawn/clone
12-
- Having a light version of the gargabe collector can be useful for some use-cases
1312
- Basic default component value as true looks awful, should we use something else?
1413

1514
## Known Issues

develop/all.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ require 'develop.testing.clone_tests'
44
require 'develop.testing.depth_tests'
55
require 'develop.testing.destroy_tests'
66
require 'develop.testing.locate_tests'
7+
require 'develop.testing.lookup_tests'
78
require 'develop.testing.main_tests'
89
require 'develop.testing.mappers_tests'
910
require 'develop.testing.multi_spawn_tests'

develop/benchmarks/clone_bmarks.lua

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -307,24 +307,24 @@ print '----------------------------------------'
307307
basics.describe_bench(
308308
string.format('Clone Benchmarks: Multi Clone | %d entities with 1 component', N),
309309
function()
310-
local multi_clone = evo.multi_clone
310+
local multi_clone_nr = evo.multi_clone_nr
311311

312312
local prefab = evo.spawn { [F1] = true }
313313

314-
multi_clone(N, prefab)
314+
multi_clone_nr(N, prefab)
315315

316316
evo.batch_destroy(QF1)
317317
end)
318318

319319
basics.describe_bench(
320320
string.format('Clone Benchmarks: Multi Defer Clone | %d entities with 1 component', N),
321321
function()
322-
local multi_clone = evo.multi_clone
322+
local multi_clone_nr = evo.multi_clone_nr
323323

324324
local prefab = evo.spawn { [F1] = true }
325325

326326
evo.defer()
327-
multi_clone(N, prefab)
327+
multi_clone_nr(N, prefab)
328328
evo.commit()
329329

330330
evo.batch_destroy(QF1)
@@ -333,36 +333,36 @@ basics.describe_bench(
333333
basics.describe_bench(
334334
string.format('Clone Benchmarks: Multi Clone With Defaults | %d entities with 1 component', N),
335335
function()
336-
local multi_clone = evo.multi_clone
336+
local multi_clone_nr = evo.multi_clone_nr
337337

338338
local prefab = evo.spawn { [D1] = true }
339339

340-
multi_clone(N, prefab)
340+
multi_clone_nr(N, prefab)
341341

342342
evo.batch_destroy(QD1)
343343
end)
344344

345345
basics.describe_bench(
346346
string.format('Clone Benchmarks: Multi Clone | %d entities with 3 components', N),
347347
function()
348-
local multi_clone = evo.multi_clone
348+
local multi_clone_nr = evo.multi_clone_nr
349349

350350
local prefab = evo.spawn { [F1] = true, [F2] = true, [F3] = true }
351351

352-
multi_clone(N, prefab)
352+
multi_clone_nr(N, prefab)
353353

354354
evo.batch_destroy(QF1)
355355
end)
356356

357357
basics.describe_bench(
358358
string.format('Clone Benchmarks: Multi Defer Clone | %d entities with 3 components', N),
359359
function()
360-
local multi_clone = evo.multi_clone
360+
local multi_clone_nr = evo.multi_clone_nr
361361

362362
local prefab = evo.spawn { [F1] = true, [F2] = true, [F3] = true }
363363

364364
evo.defer()
365-
multi_clone(N, prefab)
365+
multi_clone_nr(N, prefab)
366366
evo.commit()
367367

368368
evo.batch_destroy(QF1)
@@ -371,36 +371,36 @@ basics.describe_bench(
371371
basics.describe_bench(
372372
string.format('Clone Benchmarks: Multi Clone With Defaults | %d entities with 3 components', N),
373373
function()
374-
local multi_clone = evo.multi_clone
374+
local multi_clone_nr = evo.multi_clone_nr
375375

376376
local prefab = evo.spawn { [D1] = true, [D2] = true, [D3] = true }
377377

378-
multi_clone(N, prefab)
378+
multi_clone_nr(N, prefab)
379379

380380
evo.batch_destroy(QD1)
381381
end)
382382

383383
basics.describe_bench(
384384
string.format('Clone Benchmarks: Multi Clone | %d entities with 5 components', N),
385385
function()
386-
local multi_clone = evo.multi_clone
386+
local multi_clone_nr = evo.multi_clone_nr
387387

388388
local prefab = evo.spawn { [F1] = true, [F2] = true, [F3] = true, [F4] = true, [F5] = true }
389389

390-
multi_clone(N, prefab)
390+
multi_clone_nr(N, prefab)
391391

392392
evo.batch_destroy(QF1)
393393
end)
394394

395395
basics.describe_bench(
396396
string.format('Clone Benchmarks: Multi Defer Clone | %d entities with 5 components', N),
397397
function()
398-
local multi_clone = evo.multi_clone
398+
local multi_clone_nr = evo.multi_clone_nr
399399

400400
local prefab = evo.spawn { [F1] = true, [F2] = true, [F3] = true, [F4] = true, [F5] = true }
401401

402402
evo.defer()
403-
multi_clone(N, prefab)
403+
multi_clone_nr(N, prefab)
404404
evo.commit()
405405

406406
evo.batch_destroy(QF1)
@@ -409,11 +409,11 @@ basics.describe_bench(
409409
basics.describe_bench(
410410
string.format('Clone Benchmarks: Multi Clone With Defaults | %d entities with 5 components', N),
411411
function()
412-
local multi_clone = evo.multi_clone
412+
local multi_clone_nr = evo.multi_clone_nr
413413

414414
local prefab = evo.spawn { [D1] = true, [D2] = true, [D3] = true, [D4] = true, [D5] = true }
415415

416-
multi_clone(N, prefab)
416+
multi_clone_nr(N, prefab)
417417

418418
evo.batch_destroy(QD1)
419419
end)
@@ -423,24 +423,24 @@ print '----------------------------------------'
423423
basics.describe_bench(
424424
string.format('Clone Benchmarks: Multi Clone | %d entities with 1 required component', N),
425425
function()
426-
local multi_clone = evo.multi_clone
426+
local multi_clone_nr = evo.multi_clone_nr
427427

428428
local prefab = evo.spawn { [RF1] = true }
429429

430-
multi_clone(N, prefab)
430+
multi_clone_nr(N, prefab)
431431

432432
evo.batch_destroy(QF1)
433433
end)
434434

435435
basics.describe_bench(
436436
string.format('Clone Benchmarks: Multi Defer Clone | %d entities with 1 required component', N),
437437
function()
438-
local multi_clone = evo.multi_clone
438+
local multi_clone_nr = evo.multi_clone_nr
439439

440440
local prefab = evo.spawn { [RF1] = true }
441441

442442
evo.defer()
443-
multi_clone(N, prefab)
443+
multi_clone_nr(N, prefab)
444444
evo.commit()
445445

446446
evo.batch_destroy(QF1)
@@ -449,36 +449,36 @@ basics.describe_bench(
449449
basics.describe_bench(
450450
string.format('Clone Benchmarks: Multi Clone With Defaults | %d entities with 1 required component', N),
451451
function()
452-
local multi_clone = evo.multi_clone
452+
local multi_clone_nr = evo.multi_clone_nr
453453

454454
local prefab = evo.spawn { [RD1] = true }
455455

456-
multi_clone(N, prefab)
456+
multi_clone_nr(N, prefab)
457457

458458
evo.batch_destroy(QD1)
459459
end)
460460

461461
basics.describe_bench(
462462
string.format('Clone Benchmarks: Multi Clone | %d entities with 3 required components', N),
463463
function()
464-
local multi_clone = evo.multi_clone
464+
local multi_clone_nr = evo.multi_clone_nr
465465

466466
local prefab = evo.spawn { [RF123] = true }
467467

468-
multi_clone(N, prefab)
468+
multi_clone_nr(N, prefab)
469469

470470
evo.batch_destroy(QF1)
471471
end)
472472

473473
basics.describe_bench(
474474
string.format('Clone Benchmarks: Multi Defer Clone | %d entities with 3 required components', N),
475475
function()
476-
local multi_clone = evo.multi_clone
476+
local multi_clone_nr = evo.multi_clone_nr
477477

478478
local prefab = evo.spawn { [RF123] = true }
479479

480480
evo.defer()
481-
multi_clone(N, prefab)
481+
multi_clone_nr(N, prefab)
482482
evo.commit()
483483

484484
evo.batch_destroy(QF1)
@@ -487,36 +487,36 @@ basics.describe_bench(
487487
basics.describe_bench(
488488
string.format('Clone Benchmarks: Multi Clone With Defaults | %d entities with 3 required components', N),
489489
function()
490-
local multi_clone = evo.multi_clone
490+
local multi_clone_nr = evo.multi_clone_nr
491491

492492
local prefab = evo.spawn { [RD123] = true }
493493

494-
multi_clone(N, prefab)
494+
multi_clone_nr(N, prefab)
495495

496496
evo.batch_destroy(QD1)
497497
end)
498498

499499
basics.describe_bench(
500500
string.format('Clone Benchmarks: Multi Clone | %d entities with 5 required components', N),
501501
function()
502-
local multi_clone = evo.multi_clone
502+
local multi_clone_nr = evo.multi_clone_nr
503503

504504
local prefab = evo.spawn { [RF12345] = true }
505505

506-
multi_clone(N, prefab)
506+
multi_clone_nr(N, prefab)
507507

508508
evo.batch_destroy(QF1)
509509
end)
510510

511511
basics.describe_bench(
512512
string.format('Clone Benchmarks: Multi Defer Clone | %d entities with 5 required components', N),
513513
function()
514-
local multi_clone = evo.multi_clone
514+
local multi_clone_nr = evo.multi_clone_nr
515515

516516
local prefab = evo.spawn { [RF12345] = true }
517517

518518
evo.defer()
519-
multi_clone(N, prefab)
519+
multi_clone_nr(N, prefab)
520520
evo.commit()
521521

522522
evo.batch_destroy(QF1)
@@ -525,11 +525,11 @@ basics.describe_bench(
525525
basics.describe_bench(
526526
string.format('Clone Benchmarks: Multi Clone With Defaults | %d entities with 5 required components', N),
527527
function()
528-
local multi_clone = evo.multi_clone
528+
local multi_clone_nr = evo.multi_clone_nr
529529

530530
local prefab = evo.spawn { [RD12345] = true }
531531

532-
multi_clone(N, prefab)
532+
multi_clone_nr(N, prefab)
533533

534534
evo.batch_destroy(QD1)
535535
end)

develop/benchmarks/common_bmarks.lua

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ basics.describe_bench(string.format('Common Benchmarks: Evolved Entity Cycle | %
5454
local prefab_a = evo.builder():prefab():set(world):set(a, 0):spawn()
5555
local prefab_b = evo.builder():prefab():set(world):set(b, 0):spawn()
5656

57-
evo.multi_clone(N, prefab_a)
57+
evo.multi_clone_nr(N, prefab_a)
5858

5959
evo.builder()
6060
:set(world):group(world):query(query_a)
@@ -129,10 +129,10 @@ basics.describe_bench(string.format('Common Benchmarks: Evolved Simple Iteration
129129
local query_cd = evo.builder():set(world):include(c, d):spawn()
130130
local query_ce = evo.builder():set(world):include(c, e):spawn()
131131

132-
evo.multi_spawn(N, { [world] = true, [a] = 0, [b] = 0 })
133-
evo.multi_spawn(N, { [world] = true, [a] = 0, [b] = 0, [c] = 0 })
134-
evo.multi_spawn(N, { [world] = true, [a] = 0, [b] = 0, [c] = 0, [d] = 0 })
135-
evo.multi_spawn(N, { [world] = true, [a] = 0, [b] = 0, [c] = 0, [e] = 0 })
132+
evo.multi_spawn_nr(N, { [world] = true, [a] = 0, [b] = 0 })
133+
evo.multi_spawn_nr(N, { [world] = true, [a] = 0, [b] = 0, [c] = 0 })
134+
evo.multi_spawn_nr(N, { [world] = true, [a] = 0, [b] = 0, [c] = 0, [d] = 0 })
135+
evo.multi_spawn_nr(N, { [world] = true, [a] = 0, [b] = 0, [c] = 0, [e] = 0 })
136136

137137
evo.builder()
138138
:set(world):group(world):query(query_ab)
@@ -223,7 +223,7 @@ basics.describe_bench(string.format('Common Benchmarks: Evolved Packed Iteration
223223
local query_d = evo.builder():set(world):include(d):spawn()
224224
local query_e = evo.builder():set(world):include(e):spawn()
225225

226-
evo.multi_spawn(N, { [world] = true, [a] = 0, [b] = 0, [c] = 0, [d] = 0, [e] = 0 })
226+
evo.multi_spawn_nr(N, { [world] = true, [a] = 0, [b] = 0, [c] = 0, [d] = 0, [e] = 0 })
227227

228228
evo.builder()
229229
:set(world):group(world):query(query_a)
@@ -317,7 +317,7 @@ basics.describe_bench(string.format('Common Benchmarks: Evolved Fragmented Itera
317317
local query_z = evo.builder():set(world):include(chars[#chars]):spawn()
318318

319319
for i = 1, #chars do
320-
evo.multi_spawn(N, { [world] = true, [chars[i]] = i, [data] = i })
320+
evo.multi_spawn_nr(N, { [world] = true, [chars[i]] = i, [data] = i })
321321
end
322322

323323
evo.builder()

develop/benchmarks/process_bmarks.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ basics.describe_bench(string.format('Process Benchmarks: Evolved AoS Processing
2020
local pf = evo.builder():set(wf):spawn()
2121
local vf = evo.builder():set(wf):spawn()
2222

23-
evo.multi_spawn(N, {
23+
evo.multi_spawn_nr(N, {
2424
[wf] = true,
2525
[pf] = { x = 0, y = 0, z = 0, w = 0 },
2626
[vf] = { x = 0, y = 0, z = 0, w = 0 },
@@ -67,7 +67,7 @@ basics.describe_bench(string.format('Process Benchmarks: Evolved SoA Processing
6767
local vzf = evo.builder():set(wf):spawn()
6868
local vwf = evo.builder():set(wf):spawn()
6969

70-
evo.multi_spawn(N, {
70+
evo.multi_spawn_nr(N, {
7171
[wf] = true,
7272
[pxf] = 0,
7373
[pyf] = 0,

0 commit comments

Comments
 (0)