Data-oriented design: Difference between revisions

Content deleted Content added
Line 6:
== Motivation ==
 
These techniques became especially popular during the [[PS3]] and [[xbox 360]] console generation when the hazards of [[cache misses]] became especially pronounced, due to their use of [[in-order processor]]s with high clock speeds and deep [[Pipeline (computing)|pipelines]] (some of the software issues were similar to those encountered on the [[itanium]], requiring unrolling for upfront scheduling). In modern systems (even with [[out of order execution]]), [[main memory]] is as many as hundreds of [[clock cycle]]s away from the [[processing element]]s; consequently [[locality of reference]] issues dominate performance, requiring improvement of [[memory access pattern]]s to fix. Game consoles frequently have relatively weak CPUs to devote more power and transistor budget toward the GPU; as such it is critical that CPU side code is efficient to avoid bottlenecking.
 
== Contrast with OOP ==