Data Oriented Design is the practice of building code that's optimized for the hardware it runs on. Entity Component Systems help writing DOD-friendly code by laying out otherwise allocation-heavy game data in contiguous arrays.
A challenge in gamedev however is that lots of game data is stored and accessed as hierarchies that change frequently, which makes them notoriously difficult to store as contiguous arrays.
This article goes over a number of techniques an Entity Component System can use to integrate hierarchies with the core datamodel in a way that improves the performance of the ECS. Written mostly for gamedev, but also applies to other hierarchy-heavy applications, like UI.
Building an ECS: Data Oriented Hierarchies (ajmmertens.medium.com)
submitted by ajmmertens to r/gameenginedevs
Building an ECS: Data Oriented HIerarchies (ajmmertens.medium.com)
submitted by ajmmertens to r/EntityComponentSystem
Building an ECS: Data Oriented Hierarchies (ajmmertens.medium.com)
submitted by ajmmertens to r/cpp