DATA-ORIENTED DESIGN The hardware will thank you.

If you wish to submit an article, please contact support@dataorienteddesign.com for details.


Lots of good resources linked from this site by Daniele Bartolini: Data Oriented Design Resources

Data-Oriented Design book (2018 version)- html with links

Data-Oriented Design book (2018 version) - PDF download (better images)

Data-Oriented Design book - 2018 paperback version (with extra chapters)

Chinese translation provided by KouZhe / Martin Cole

Data-Oriented Design book (2018 version)- html with links

Data-Oriented Design book (2018 version) - PDF download (better images)

FIRST PREV : PAGE 0 : NEXT LAST

Things to consider : #03 08/11/2011:14:36:12

Cache oblivious code is not ignorant, just not dependent.

http://www.1024cores.net/home/parallel-computing/cache-oblivious-algorithms

So, keep in mind space filling curves and binary reflected gray code as possible access patterns to your data to maximise cache hits when you don't even know the target hardware spec.

http://en.wikipedia.org/wiki/Space-filling_curve

http://en.wikipedia.org/wiki/Gray_code

These access patterns shuffle back and forth over similar addresses so are much more likely to hit items in the cache even without tuning for the specific platform. You trade off in readability, but it does mean that you can turn the code into a black box as even future hardware releases are likely to benefit from this design choice.
Mastodon