Data Oriented Design Resources
A curated list of awesome data oriented design resources.
Feel free to contribute by sending PR!
Presentations
- A Step Towards Data Orientation (2010) - Johan Torp
- Introduction To Data Oriented Design (2010) - DICE
- Memory Optimization (2003) - Christer Ericson
- Practical Examples In Data Oriented Design (2013) - Niklas Frykholm
- Three Big Lies (2008) - Mike Acton
- Typical C++ Bullshit (2008) - Mike Acton
- Data-Oriented Design and C++ (2014) - Mike Acton
- Entity Component Systems & Data Oriented Design (2018) - Aras Pranckevičius
Blog Posts
- Adventures in data-oriented design – Part 1: Mesh data (2011) - Stefan Reinalter
- Adventures in data-oriented design – Part 2: Hierarchical data (2013) - Stefan Reinalter
- Adventures in data-oriented design – Part 3a: Ownership (2013) - Stefan Reinalter
- Adventures in data-oriented design – Part 3b: Internal References (2013) - Stefan Reinalter
- Adventures in data-oriented design – Part 3c: External References (2013) - Stefan Reinalter
- Adventures in data-oriented design – Part 4: Skinning it to 11 (2013) - Stefan Reinalter
- Allocation Adventures 1: The DataComponent (2015) - Niklas Frykholm
- Allocation Adventures 2: Arrays of Arrays (2015) - Niklas Frykholm
- An Example in Data-Oriented Design: Sound Parameters (2011) - Niklas Frykholm
- Building a Data-Oriented Entity System (part 1) (2014) - Niklas Frykholm
- Building a Data-Oriented Entity System (Part 2: Components) (2014) - Niklas Frykholm
- Building a Data-Oriented Entity System (Part 3: The Transform Component) (2014) - Niklas Frykholm
- Building a Data-Oriented Entity System (Part 4: Entity Resources) (2014) - Niklas Frykholm
- Data Locality (2014) - http://gameprogrammingpatterns.com
- Data Oriented Luddites (2010) - Tom Forsyth
- Data-Oriented Design (Or Why You Might Be Shooting Yourself in The Foot With OOP) (2009) - Noel Llopis
- Data-Oriented Design Now And In The Future (2011) - Noel Llopis
- Data-Oriented Hash Table (2015) - Nathan Reed
- Is Data-Oriented Design a Paradigm? (2010) - Steve Anichini
- Maximizing code performance by thinking data first - Part 1 (2016) - Nicolas Lopez
- Maximizing code performance by thinking data first - Part 2 (2016) - Nicolas Lopez
- Musings on Data-Oriented Design (2010) - Steve Anichini
- Niklas Frykholm github blog (2009-2016)
- OOP != classes, but may == DOD (2010) - roathe.com
- Pitfalls of Object Oriented Programming - Revisited (2017) - Tony Albrecht
- Pitfalls of Object Oriented Programming (2009) - Tony Albrecht
- The Latency Elephant (2009) - Tony Albrecht
- Visual Scripting the Data-Oriented Way (2010) - Niklas Frykholm
- What is Data-Oriented Game Engine Design? (2014) - David Davidović
- Comments on Data Oriented Design – Part I (2015) - Michael Gautier
- Comments on Data Oriented Design – Part II (2015) - Michael Gautier
Videos
- CPU Caches and Why You care (2014) - Scott Meyers
- Data-Oriented Demo: SOA, composition (2015) - Jonathan Blow
- Data-Oriented Design and C++ (cppcon 2014) - Mike Acton
- Data-Oriented Design (2013) - Sean Middleditch
- Democratizing Data-Oriented Design: A Data-Oriented Approach to Using Component Systems (2018) - Mike Acton
- Democratizing Data-Oriented Design: From C# to Machine Code (2018) - Andreas Fredriksson
- Efficiency with Algorithms, Performance with Data Structures (2014, cppcon) - Chandler Carruth
- Memory Optimization (2003) - Christer Ericson
- Native Code Performance and Memory: The Elephant in the CPU (2013) - Eric Brumer
- Object-Oriented Programming is Bad (2016) - Brian Will
- Performance Optimization, SIMD and Cache (2015) - Sergiy Migdalskiy
- OOP Is Dead, Long Live Data-oriented Design (cppcon 2018) - Stoyan Nikolov
- Using Rust For Game Development (RustConf 2018) - Catherine West
Other
- Data alignment: Straighten up and fly right (2005) - Jonathan Rentzsch
- Data Locality (2014) - Robert Nystrom
- Data Oriented Design (2011-2014) - plus.google.com
- Mike Acton's review of OgreNode.cpp, revealing some common OOP game engine development pitfalls (2013)
- On why DoD isn't a modelling approach at all (2016) - Christer Ericson
- What Every Programmer Should Know About Memory (2007) - Ulrich Drepper
- What Is Data Oriented Design (2009) - stackoverflow.com
- Data Oriented Design Book (2018) - Richard Fabian
- Cache-Line Aware Data Structures (2018) - accu.org