I wrote my own entity component system, open sourced the engine, and I measure it against jecs, the fastest open ECS on Roblox, every time I change it. On the status flags a combat game churns thousands of times a second, mine is 1.35x faster. On queries the two are close. jecs is ahead on spawning, and that row is here too. Every row of the last run is below: faster on 2, even on 5, slower on 6.
Stuns, buffs, cooldown flags: a fighting game adds and removes thousands of these a second. I wrote a sparse storage mode for exactly that, and it won all 9 runs. Stored the ordinary way instead, the same flag is slower than jecs, which is why the mode exists.
Iterating entities is what a game does sixty times a second, and it is where a slow ECS costs you frame rate. On the three query workloads jecs leads by 6 to 16 percent on the median, and the winner changes between runs. That is the same class of engine, not a gap a player would ever see.
Creating an entity and moving it between tables is where jecs is clearly ahead, and I have not closed that gap. In absolute terms it is 1.75 us against 0.77 us per entity, paid once when an enemy or a projectile is created, not every frame.
jecs is an excellent engine and it does one job: storing and querying entities. A game needs a lot more than that before anything appears on screen, and every studio that adopts jecs ends up writing the rest themselves.
VZNCore is the rest, with an engine of the same class underneath: replication that only sends what changed, a scheduler, player data, server-side validation of every client request, debug lints that name the entity that went wrong, and an inspector for looking inside a running world. Owning the engine is what lets all of that be designed together instead of bolted on.
The engine is open source. The VZNCore template on my GitHub is MIT licensed and carries the test suite, examples and a benchmark harness you can run yourself. The framework around it is private: it is not sold, and it ships inside client games and nowhere else. I have been working on it for months and I expect to keep working on it for years. More about me and how I work.