The 3 Big Lies Introduction


The Lies

  1. Code is more important than data.
  2. Code should be designed around a model of the world.
  3. Software is a platform.

Data-Oriented Design (DOD) is a software development approach that focuses on optimizing data structures and algorithms for performance, rather than abstractions or code size. In a 2014 talk at CppCon, Mike Acton identified “three big lies” that can lead to suboptimal design decisions: the assumption that abstractions are free, the belief that memory is always slow, and the idea that smaller is always better. In this article, we will explore these principles and how they can be applied in the context of DOD to create efficient, high-performing software. By examining the trade-offs of using abstractions, carefully evaluating memory access patterns, and considering overall performance goals, developers can create designs that are optimized for real-world performance and scalability.


See also