OOP Is Dead, Long Live Data-oriented Design
summary
Compares Chromium’s object-oriented animation path (6+ inheritance layers, virtual interpolation, per-animation heap objects) to a data-first redesign used in Hummingbird: flat animation-state structs, an animation controller that ticks arrays per property type, existence-based predication, and templates instead of runtime polymorphism. With 3,000 rectangles (~6,000 animations) the redesign reduces cache misses and virtual calls and runs about six times faster. Shows practical tradeoffs: easier multithreading and testing, harder quick state changes and initial data modeling.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 2:35Demo and initial questions
- 5:32Principles of DOD
- 9:34System design
- 11:31Object-oriented implementation
- 21:08DOD implementation
- 30:34API and design recap
- 34:15Results and analysis
- 39:35Conclusion
- 46:16Q&A
related talks
21mData-Oriented programming
58m#OOP vs Data Oriented Programming Which One to Choose
38mWhat Object-Oriented Programming Was Supposed to Be: Two Grumpy Old Guys’ Take on ...
01h 00mOOP vs Data Oriented Programming: Which One to Choose?
51mFunctional Principles for Object Oriented Development
40mReduce System Complexity with Data-Oriented Programming
25mOOPs!... I Did it Again: When Good Objects Go Toxic
51mTechniques for Wielding Data and Behaviors
