This article needs additional citations for verification. (July 2020) |
In computing, data-oriented design is a program optimization approach motivated by efficient usage of the CPU cache, often used in video game development.[1] The approach is to focus on the data layout, separating and sorting fields according to when they are needed, and to think about transformations of data. Proponents include Mike Acton,[2] Scott Meyers,[3] and Jonathan Blow.
The parallel array (or structure of arrays) is the main example of data-oriented design. It is contrasted with the array of structures typical of object-oriented designs.
The definition of data-oriented design as a programming paradigm can be seen as contentious as many believe that it can be used side by side with another paradigm,[4] but due to the emphasis on data layout, it is also incompatible with most other paradigms. [1]