NSSTC / sim-ecs

Batteries included TypeScript ECS
https://nsstc.github.io/sim-ecs/
Mozilla Public License 2.0
88 stars 13 forks source link

Investigate preformance regression on master #58

Closed minecrawler closed 1 year ago

minecrawler commented 2 years ago

The iter benchmark regressed by 330% between d2de6f8772ae2b6f63f1d4b7b7f69a6bee5ace4d and f11e94388980b7a587bc148499e264be1271f43c. The logic is the same, and the only difference I can think of is switching from arrays to Sets for entity storage - which does incur a performance overhead, but I can't believe that it's that heavy! Sets are better in this case since they protect against having the same entity several times.

minecrawler commented 1 year ago

with the upgrade and fixing of the Benchmarks, this becomes hard to backtrace. So, I'm closing this. Work will instead go into general profiling and performance work