This document discusses data-oriented design and how it can improve performance over object-oriented design. It advocates that code should follow data organization rather than forcing data into objects. It shows an example of restructuring code from an array of objects to a structure of arrays format to improve memory access and enable parallelization. The key messages are that optimizing for data access and memory performance is important, not all data needs to be in objects, and data-oriented design can lead to better performing and simpler code.