Awesome
JS ECS Benchmarks
Includes:
Pull requests are welcome! This project uses node v14.15.4
.
NOTE: ecsy is included in this benchmarking suite, but it is EXTREMELY slow (tens of thousands of times slower) and it chokes on larger datasets. It can be included by uncommenting it from /libraries/index.js
;
Suite Add/Remove (5000 iterations)
- fastecs 37ms 185522ms 15000 updates 0.0% fastest
- wolf-ecs 106ms 532167ms25010000 updates 186.8% slower
- bitecs 138ms 690383ms25010000 updates 272.1% slower
- perform-ecs 202ms 1009431ms25010000 updates 444.1% slower
- uecs 263ms 1314178ms25010000 updates 608.4% slower
- geotic (v4) 281ms 1407350ms25010000 updates 658.6% slower
- tiny-ecs 543ms 2716702ms25010000 updates 1364.4% slower
- yagl-ecs 670ms 3347501ms25010000 updates 1704.4% slower
- nano-ecs 967ms 4834511ms25010000 updates 2505.9% slower
- ape-ecs 2742ms 13709605ms25010000 updates 7289.7% slower
Suite Additions (100000 iterations)
- wolf-ecs 4ms 423641ms 0.0% fastest
- yagl-ecs 5ms 490221ms 15.7% slower
- bitecs 6ms 606964ms 43.3% slower
- uecs 7ms 688536ms 62.5% slower
- tiny-ecs 7ms 692329ms 63.4% slower
- fastecs 9ms 891898ms 110.5% slower
- nano-ecs 10ms 958823ms 126.3% slower
- geotic (v4) 12ms 1165459ms 175.1% slower
- perform-ecs 13ms 1298099ms 206.4% slower
- ape-ecs 30ms 2952275ms 596.9% slower
Suite Destroy (100000 iterations)
- wolf-ecs 4ms 424042ms 0.0% fastest
- bitecs 8ms 827526ms 95.2% slower
- tiny-ecs 10ms 953715ms 124.9% slower
- uecs 10ms 1009898ms 138.2% slower
- nano-ecs 12ms 1157237ms 172.9% slower
- perform-ecs 12ms 1196294ms 182.1% slower
- fastecs 14ms 1426324ms 236.4% slower
- geotic (v4) 16ms 1628375ms 284.0% slower
- ape-ecs 27ms 2697122ms 536.1% slower
- yagl-ecs 92ms 9186462ms 2066.4% slower
Suite Velocity (2000 iterations)
- wolf-ecs 23ms 46579ms 2001000 updates 0.0% fastest
- uecs 44ms 88875ms 2001000 updates 90.8% slower
- bitecs 70ms 139174ms 2001000 updates 198.8% slower
- yagl-ecs 73ms 146691ms 2001000 updates 214.9% slower
- tiny-ecs 76ms 152412ms 2001000 updates 227.2% slower
- perform-ecs 84ms 168559ms 2001000 updates 261.9% slower
- fastecs 103ms 206112ms 2001000 updates 342.5% slower
- nano-ecs 184ms 368966ms 2001000 updates 692.1% slower
- ape-ecs 365ms 730359ms 2001000 updates 1468.0% slower
- geotic (v4) 390ms 779062ms 2001000 updates 1572.6% slower