Great Presentation on Data-Oriented Design

Memory CPU gapA few days ago, Tony Albrecht posted the slides of his presentation titled “Pitfalls of Object-Oriented Design” [1]. Even though the title is really broad and could easily be misinterpreted, it’s not just a general bash on OOD. Instead, it’s very much focused on how object-oriented design is not a good match for high-performance apps (games) on modern hardware architectures with slow memory access and deep memory hierarchies. His proposed solution: Data-oriented design. Spot on!

If you haven’t seen the presentation, go download it right now. It’s really well put together and he has some great detailed examples on how caches are affected with traditional object-oriented design vs. a more data-oriented approach.


[1] Thanks to Christer Ericson for pointing that out.

  • http://rachelslabnotes.com Rachel ‘Groby’ Blum

    He’s hardly alone with that. I believe Mike Acton has been a rather vocal proponent of that… (http://macton.smugmug.com/gallery/8936708_T6zQX#593426709_ZX4pZ for example..)

    Now we just need a language that encourages that ;)

  • http://topsy.com/tb/bit.ly/7B1cuv Tweets that mention Games from Within | Great Presentation on Data-Oriented Design — Topsy.com

    [...] This post was mentioned on Twitter by Margie and Team BuzzID, Rui Abrantes. Rui Abrantes said: object-oriented design vs. data-oriented design. For modern hardware architectures with slow memory access (eg: iphone) http://bit.ly/7tf2nM [...]