{"id":13532668,"url":"https://github.com/dbartolini/data-oriented-design","last_synced_at":"2026-01-27T17:35:42.386Z","repository":{"id":33860925,"uuid":"37568065","full_name":"dbartolini/data-oriented-design","owner":"dbartolini","description":"A curated list of data oriented design resources.","archived":false,"fork":false,"pushed_at":"2024-01-28T08:52:21.000Z","size":65,"stargazers_count":4005,"open_issues_count":2,"forks_count":229,"subscribers_count":184,"default_branch":"master","last_synced_at":"2025-01-28T11:21:57.949Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dbartolini.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-06-17T02:31:17.000Z","updated_at":"2025-01-27T17:06:14.000Z","dependencies_parsed_at":"2024-09-20T20:30:53.165Z","dependency_job_id":null,"html_url":"https://github.com/dbartolini/data-oriented-design","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbartolini%2Fdata-oriented-design","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbartolini%2Fdata-oriented-design/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbartolini%2Fdata-oriented-design/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbartolini%2Fdata-oriented-design/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dbartolini","download_url":"https://codeload.github.com/dbartolini/data-oriented-design/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245056903,"owners_count":20553854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T07:01:12.738Z","updated_at":"2026-01-27T17:35:42.323Z","avatar_url":"https://github.com/dbartolini.png","language":null,"readme":"# Data Oriented Design Resources\n\nA curated list of awesome data oriented design resources.\n\nFeel free to contribute by sending PR!\n\n- [Data Oriented Design](#data-oriented-design-resources)\n    - [Presentations](#presentations)\n    - [Blog Posts](#blog-posts)\n    - [Videos](#videos)\n    - [Other](#other)\n    - [Code Examples](#code-examples)\n\n## Presentations\n\n* [A Step Towards Data Orientation (2010)](http://www.slideshare.net/DICEStudio/a-step-towards-data-orientation) - Johan Torp\n* [Introduction To Data Oriented Design (2010)](http://www.slideshare.net/DICEStudio/introduction-to-data-oriented-design) - DICE\n* [Memory Optimization (2003)](https://www.slideshare.net/backkom/memory-optimization-212630?qid=900a4da7-e1dd-447f-bdbe-389ad83f3a0c) - Christer Ericson\n* [A Crash Course in Modern Hardware](https://www.infoq.com/presentations/click-crash-course-modern-hardware/) -  Dr. Cliff Click\n* [Practical Examples In Data Oriented Design (2013)](https://docs.google.com/presentation/d/17Bzle0w6jz-1ndabrvC5MXUIQ5jme0M8xBF71oz-0Js/present?slide=id.i0) - Niklas Frykholm\n* [Three Big Lies (2008)](http://cellperformance.beyond3d.com/articles/2008/03/three-big-lies.html) - Mike Acton\n* [Typical C++ Bullshit (2008)](https://macton.smugmug.com/Other/2008-07-15-by-Eye-Fi/n-xmKDH) - Mike Acton\n* [Data-Oriented Design and C++ (2014)](https://www.slideshare.net/cellperformance/data-oriented-design-and-c) - Mike Acton\n* [Entity Component Systems \u0026\nData Oriented Design (2018)](http://aras-p.info/texts/files/2018Academy%20-%20ECS-DoD.pdf) - Aras Pranckevičius\n* [Pitfalls of Object Oriented Programming - Revisited (2017)](https://docs.google.com/presentation/d/1ST3mZgxmxqlpCFkdDhtgw116MQdCr2Fax2yjd8Az6zM/edit#slide=id.p) - Tony Albrecht\n* [Pitfalls of Object Oriented Programming (2009)](http://www.slideshare.net/EmanWebDev/pitfalls-of-object-oriented-programminggcap09) - Tony Albrecht\n\n## Blog Posts\n\n* [Adventures in data-oriented design – Part 1: Mesh data (2011)](https://molecularmusings.wordpress.com/2011/11/03/adventures-in-data-oriented-design-part-1-mesh-data-3/) - Stefan Reinalter\n* [Adventures in data-oriented design – Part 2: Hierarchical data (2013)](https://molecularmusings.wordpress.com/2013/02/22/adventures-in-data-oriented-design-part-2-hierarchical-data/) - Stefan Reinalter\n* [Adventures in data-oriented design – Part 3a: Ownership (2013)](https://molecularmusings.wordpress.com/2013/05/02/adventures-in-data-oriented-design-part-3a-ownership/) - Stefan Reinalter\n* [Adventures in data-oriented design – Part 3b: Internal References (2013)](https://molecularmusings.wordpress.com/2013/05/17/adventures-in-data-oriented-design-part-3b-internal-references/) - Stefan Reinalter\n* [Adventures in data-oriented design – Part 3c: External References (2013)](https://molecularmusings.wordpress.com/2013/07/24/adventures-in-data-oriented-design-part-3c-external-references/) - Stefan Reinalter\n* [Adventures in data-oriented design – Part 4: Skinning it to 11 (2013)](https://molecularmusings.wordpress.com/2013/08/22/adventures-in-data-oriented-design-part-4-skinning-it-to-11/) - Stefan Reinalter\n* [An introduction to Data Oriented Design with Rust](https://jamesmcm.github.io/blog/intro-dod/)\n* [Allocation Adventures 1: The DataComponent (2015)](http://bitsquid.blogspot.it/2015/06/allocation-adventures-1-datacomponent.html) - Niklas Frykholm\n* [Allocation Adventures 2: Arrays of Arrays (2015)](http://bitsquid.blogspot.it/2015/06/allocation-adventures-2-arrays-of-arrays.html) - Niklas Frykholm\n* [An Example in Data-Oriented Design: Sound Parameters (2011)](http://bitsquid.blogspot.it/2011/11/example-in-data-oriented-design-sound.html) - Niklas Frykholm\n* [Building a Data-Oriented Entity System (part 1) (2014)](http://bitsquid.blogspot.it/2014/08/building-data-oriented-entity-system.html) - Niklas Frykholm\n* [Building a Data-Oriented Entity System (Part 2: Components) (2014)](http://bitsquid.blogspot.it/2014/09/building-data-oriented-entity-system.html) - Niklas Frykholm\n* [Building a Data-Oriented Entity System (Part 3: The Transform Component) (2014)](http://bitsquid.blogspot.it/2014/10/building-data-oriented-entity-system.html) - Niklas Frykholm\n* [Building a Data-Oriented Entity System (Part 4: Entity Resources) (2014)](http://bitsquid.blogspot.it/2014/10/building-data-oriented-entity-system_10.html) - Niklas Frykholm\n* [Data Locality (2014)](http://gameprogrammingpatterns.com/data-locality.html) - http://gameprogrammingpatterns.com\n* [Data Oriented Luddites (2010)](https://tomforsyth1000.github.io/blog.wiki.html#[[Data%20Oriented%20Luddites]]) - Tom Forsyth\n* [Data-Oriented Design (Or Why You Might Be Shooting Yourself in The Foot With OOP) (2009)](http://gamesfromwithin.com/data-oriented-design) - Noel Llopis\n* [Data-Oriented Design Now And In The Future (2011)](http://gamesfromwithin.com/data-oriented-design-now-and-in-the-future) - Noel Llopis\n* [Data-Oriented Hash Table (2015)](http://www.reedbeta.com/blog/2015/01/12/data-oriented-hash-table/) - Nathan Reed\n* [Is Data-Oriented Design a Paradigm? (2010)](http://solid-angle.blogspot.it/2010/12/is-data-oriented-design-paradigm.html) - Steve Anichini\n* [Maximizing code performance by thinking data first - Part 1 (2016)](https://nicolaslopezblog.wordpress.com/2016/07/14/maximizing-code-performance-by-thinking-data-first-part-1/) - Nicolas Lopez\n* [Maximizing code performance by thinking data first - Part 2 (2016)](https://nicolaslopezblog.wordpress.com/2016/08/15/maximizing-code-performance-by-thinking-data-first-part-2/) - Nicolas Lopez\n* [Musings on Data-Oriented Design (2010)](http://solid-angle.blogspot.it/2010/02/musings-on-data-oriented-design.html) - Steve Anichini\n* [Niklas Frykholm github blog (2009-2016)](https://github.com/niklasfrykholm/blog)\n* [OOP != classes, but may == DOD (2010)](https://roathe.wordpress.com/2010/03/22/oop-classes-but-may-dod/) - roathe.com\n* [The Latency Elephant (2009)](http://seven-degrees-of-freedom.blogspot.it/2009/10/latency-elephant.html) - Tony Albrecht\n* [Visual Scripting the Data-Oriented Way (2010)](http://bitsquid.blogspot.it/2010/09/visual-scripting-data-oriented-way.html) - Niklas Frykholm\n* [What is Data-Oriented Game Engine Design? (2014)](http://gamedevelopment.tutsplus.com/articles/what-is-data-oriented-game-engine-design--cms-21052) - David Davidović\n* [Comments on Data Oriented Design – Part I (2015)](https://gautiertalkstechnology.wordpress.com/2015/02/21/comments-on-data-oriented-design-part-i) - Michael Gautier\n* [Comments on Data Oriented Design – Part II (2015)](https://gautiertalkstechnology.wordpress.com/2015/02/22/comments-on-data-oriented-design-part-ii) - Michael Gautier\n* [Data oriented design is not about SoA and ECS (2020)](https://www.polymonster.co.uk/blog/dod-ecs) - Alex Dixon\n\n## Videos\n\n* [CPU Caches and Why You care (2014)](https://vimeo.com/97337258) - Scott Meyers\n* [Data-Oriented Demo: SOA, composition (2015)](https://www.youtube.com/watch?v=ZHqFrNyLlpA) - Jonathan Blow\n* [Data-Oriented Design and C++ (cppcon 2014)](https://www.youtube.com/watch?v=rX0ItVEVjHc) - Mike Acton\n* [Data-Oriented Design (2013)](https://www.youtube.com/watch?v=16ZF9XqkfRY) - Sean Middleditch\n* [Democratizing Data-Oriented Design: A Data-Oriented Approach to Using Component Systems (2018)](https://www.youtube.com/watch?v=p65Yt20pw0g) - Mike Acton\n* [Democratizing Data-Oriented Design: From C# to Machine Code (2018)](https://www.youtube.com/watch?v=NF6kcNS6U80) - Andreas Fredriksson\n* [Efficiency with Algorithms, Performance with Data Structures (2014, cppcon)](https://www.youtube.com/watch?v=fHNmRkzxHWs\u0026list=WL\u0026index=1) - Chandler Carruth\n* [Memory Optimization (2003)](https://www.youtube.com/watch?v=t15T_BkOtm0) - Christer Ericson\n* [Native Code Performance and Memory: The Elephant in the CPU (2013)](https://channel9.msdn.com/Events/Build/2013/4-329) - Eric Brumer\n* [Object-Oriented Programming is Bad (2016)](https://www.youtube.com/watch?v=QM1iUe6IofM) - Brian Will\n* [Performance Optimization, SIMD and Cache (2015)](https://www.youtube.com/watch?v=Nsf2_Au6KxU) - Sergiy Migdalskiy\n* [OOP Is Dead, Long Live Data-oriented Design (cppcon 2018)](https://www.youtube.com/watch?v=yy8jQgmhbAU) - Stoyan Nikolov\n* [Using Rust For Game Development (RustConf 2018)](https://www.youtube.com/watch?v=aKLntZcp27M) - Catherine West\n* [Overwatch Gameplay Architecture and Netcode (GDC 2017)](https://www.youtube.com/watch?v=W3aieHjyNvw) - Timothy Ford\n* [Rust Auckland - Azriel: ECS: A Programming Paradigm (2018)](https://www.youtube.com/watch?v=SofC6c9xQv4\u0026) - Azriel Hoh\n* [Unity at GDC - ECS for Small Things (2018)](https://www.youtube.com/watch?v=EWVU6cFdmr0) - Vlad Vukicevic\n* [Building a Data-Oriented Future - Mike Acton (2019)](https://www.youtube.com/watch?v=u8B3j8rqYMw) - Mike Acton\n* [Intrinsic Functions - Vector Processing Extensions](https://youtu.be/x9Scb5Mku1g) - Javidx9\n* [GDC 2015: How to Write Code the Compiler Can Actually Optimize](https://gdcvault.com/play/1021866/Code-Clinic-2015-How-to) - Mike Acton\n* [A Practical Guide To Applying Data-Oriented Design](https://vimeo.com/649009599) - Andrew Kelley\n* [A Practical Guide To Applying Data-Oriented Design - Q\u0026A](https://vimeo.com/649016743) - Andrew Kelley\n* [Embedded Systems: Marketable Skills \u0026 Intro To Data-Oriented Design Western Michigan University IEEE](https://www.youtube.com/watch?v=YlhA2Y-qpUA) - James Novorita\n* [Pitfalls of Object Oriented Programming, Revisited (TGC 2017)](https://www.youtube.com/watch?v=VAT9E-M-PoE) - Tony Albrecht\n\n## Other\n\n* [Data alignment: Straighten up and fly right (2005)](http://www.ibm.com/developerworks/library/pa-dalign/) - Jonathan Rentzsch\n* [Data Locality (2014)](http://gameprogrammingpatterns.com/data-locality.html) - Robert Nystrom\n* [Data Oriented Design (2011-2014)](https://plus.google.com/u/0/+Dataorienteddesign/posts) - plus.google.com\n* [Mike Acton's review of OgreNode.cpp, revealing some common OOP game engine development pitfalls (2013)](http://www.bounceapp.com/116414)\n* [On why DoD isn't a modelling approach at all (2016)](https://sites.google.com/site/macton/home/onwhydodisntamodellingapproachatall) - Christer Ericson\n* [What Every Programmer Should Know About Memory (2007)](http://www.akkadia.org/drepper/cpumemory.pdf) - Ulrich Drepper\n* [What Is Data Oriented Design (2009)](http://stackoverflow.com/questions/1641580/what-is-data-oriented-design) - stackoverflow.com\n* [Data Oriented Design Book (2018)](http://www.dataorienteddesign.com/dodbook/dodmain.html) - Richard Fabian\n* [Cache-Line Aware Data Structures (2018)](https://accu.org/index.php/journals/2535) - accu.org\n* [Investigating Data-Oriented Design - Master Thesis (2019)](https://github.com/Per-Morten/master_project) - Per-Morten Straume\n* [The Data-Oriented Design Process for Game Development](https://doi.ieeecomputersociety.org/10.1109/MC.2022.3155108) - Jessica D. Bayliss\n\n## Code Examples\n\n* [bgfx](https://github.com/bkaradzic/bgfx)\n* [crown](https://github.com/crownengine/crown)\n* [dear imgui](https://github.com/ocornut/imgui)\n","funding_links":[],"categories":["Awesome-Game","Others","miscellaneous","Awesome","Misc","[Other Resources](#contents)"],"sub_categories":["[Lists](#contents)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbartolini%2Fdata-oriented-design","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdbartolini%2Fdata-oriented-design","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbartolini%2Fdata-oriented-design/lists"}