Content deleted Content added
No edit summary |
No edit summary |
||
Line 1:
In [[computing]], '''Data oriented design''' (not to be confused with [[data-driven design]]) is a software optimisation approach motivated by [[cache coherency]], used in [[video game]] development. The approach is to focus on the data layout, separating and sorting [[field (computing)|field]]s according to when they are needed, and to think about transformations of data, rather than following an [[object-oriented]] design methodology. In this approach code follows data, rather than the other way round. The claim is that [[object-oriented]] design principles result in poor data locality, especially if [[runtime polymorphism]] is used (which itself is especially problematic on certain processors).
The techniques became especially popular during the [[PS3]] and [[xbox 360]] console generation when the hazards of [[cache misses]] became pronounced due to their use of [[in-order processor]]s and high clock speeds.
|