Data-oriented design: Difference between revisions

Content deleted Content added
m Minor edits
Line 2:
 
== Motives ==
These methods became especially popular during the [[seventh generation of video game consoles]] that included [[PlayStation 3]] (PS3) and [[Xbox 360]], 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 [[loop 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 console]]s often have relatively weak [[central processing unit]]s (CPUs) to devote more power and [[transistor budget]] to the [[graphics processing unit]]s (GPUs). Thus, it is critical that CPU side code is efficient to avoid [[Von Neumann architecture#Von Neumann bottleneck|Von Neumann bottlenecking]].
 
== Contrast with object-orientation ==