-IDManager

-times counting for tests
This commit is contained in:
Mergul 2018-09-12 14:01:35 +02:00
parent 86e4e57f74
commit 17551b08a5
4 changed files with 118 additions and 10 deletions

View file

@ -5,14 +5,11 @@ import ecs.events;
import ecs.system;
import ecs.entity;
import core.time;
import std.stdio;
int main()
{
return 0;
}
unittest
{
alias SerializeVector = ubyte[];
struct TestComp
@ -99,24 +96,50 @@ unittest
EntityManager.initialize();
assert(gEM !is null);
MonoTime time = MonoTime.currTime;
gEM.registerComponent!TestComp2;
gEM.registerComponent!TestComp;
ulong dur = (MonoTime.currTime - time).total!"usecs";
writeln("Components register time: ",dur," usecs");
time = MonoTime.currTime;
gEM.registerSystem!TestSystem(0);
gEM.registerSystem!TestSystem2(0);
dur = (MonoTime.currTime - time).total!"usecs";
writeln("System register time: ",dur," usecs");
time = MonoTime.currTime;
ushort[2] ids = [0,1];
EntityTemplate* tmpl = gEM.allocateTemplate(ids);
*cast(EntityID*)tmpl.entity_data.ptr = EntityID(1,1);
dur = (MonoTime.currTime - time).total!"usecs";
writeln("Template allocating time: ",dur," usecs");
time = MonoTime.currTime;
foreach(i; 0..1_000_000)gEM.addEntity(tmpl);
dur = (MonoTime.currTime - time).total!"usecs";
writeln("Entities adding: ",dur," usecs");
//assert(*(cast(EntityID*)(cast(void*)tmpl.info.first_block+24)) == EntityID(1,1));
//assert(*(cast(EntityID*)(cast(void*)tmpl.info.first_block+48)) == EntityID(1,1));
time = MonoTime.currTime;
gEM.update();
gEM.update();
dur = (MonoTime.currTime - time).total!"usecs";
writeln("Update time: ",dur," usecs");
import std.stdio;
writeln((cast(uint*)tmpl.info.first_block)[0..48]);
gEM.freeTemplate(tmpl);
return 0;
}