Profile

Cover photo
Data Oriented Design
759 followers|189,657 views
AboutPostsPhotosVideos

Stream

Data Oriented Design

Shared publicly  - 
 
Why Design Patterns Still Matter

http://www.informit.com/articles/article.aspx?p=2252410

Clearly readable, but impossibly difficult to reason about, and incredibly hard to make work fast: Design patterns, leaky abstractions for increased hardware sales.

note: DOD might be slightly biased against design patterns
1
Add a comment...

Data Oriented Design

Shared publicly  - 
 
Another example of thinking about the data:

Swap data for energy, and the demand oriented approach to fulfilment changes the function used to determine fitness.

http://solar.pub/solar-panels-facing-wrong-way
A UK leading experts on solar energy has warned that over half a million buildings might have solar panels facing the wrong way for maximum effectiveness.
3
Michael Bosley's profile photoData Oriented Design's profile photo
2 comments
 
Much the same we we sometimes achieve better throughput by running two different series of instructions on the same data while waiting for the decision as to which result to use as the predicate is coming from memory. Thus reducing latency at the cost of more CPU activity.
Add a comment...

Data Oriented Design

Shared publicly  - 
3
Add a comment...

Data Oriented Design

Shared publicly  - 
 
Never assume, always measure

Sometimes it comes down to implementation. Implementation details can change things so they become incredibly unintuitive.

http://blog.httrack.com/blog/2014/04/05/a-story-of-realloc-and-laziness/
A Simple Macro It began with a simple macro: (approximative code) 1 2 3 4 5 6 7 8 9 10 11 12 #define ADD_BYTE(C) do { \ if (offset == capa) { \ if ( …
3
Add a comment...

Data Oriented Design

Shared publicly  - 
 
Adam Martin providing more concrete information for those looking to write entity systems into their games.

http://t-machine.org/index.php/2014/03/08/data-structures-for-entity-systems-contiguous-memory/
6
2
Sander van Rossen's profile photoTuan Kuranes's profile photo
Add a comment...
 
Why thank you +Mike Acton

A really rather well put together set of slides from GDC on data oriented design. Mike's latest work isn't just based on CELL machines. We're still seeing these issues on modern PCs, but it's very easy to be blinded by not knowing what you're meant to be looking for.

https://github.com/macton/presentation-archive/raw/master/gdc14_code_clinic.pptx
8
Add a comment...
In their circles
15 people
Have them in circles
759 people
Mark Waligora's profile photo
Menna Khafagy's profile photo
Natasha Wood's profile photo
Jason Yueh's profile photo
戴文宗's profile photo
Thamizhendi V's profile photo
Jorge García's profile photo
Kosmas “life is a symphony” Karavopoulos's profile photo
Megan Palero's profile photo
 
The more context you have, the better you can make the solution.

An often overlooked, but important part of data-oriented design:
CppCon 2014: Mike Acton "Data-Oriented Design and C++"

This is the reason why Mike Acton and John Carmack have both been found telling people to kill abstractions. Not because they want you to type more, but because they want you to be able to infer from more available data. Every abstraction reduces the data available on which to make decisions.
15
6
Marc Costa's profile photoMichael Bosley's profile photoБорис Евтифеев's profile photoKarl Schmidt's profile photo
 
What happend to altdevblogaday ? One of the best sites on the net just disappeared
Add a comment...
 
Chose a paradigm that allows for the simplest, least complex, most provably correct code.

http://www.rbcs-us.com/documents/Segue.pdf
2
Add a comment...

Data Oriented Design

Shared publicly  - 
Intent. Speed memory access by arranging data to take advantage of CPU caching. Motivation. We've been lied to. They keep showing us charts where CPU speed goes up and up every year as if Moore's Law isn't just a historical observation but some kind of divine right. Without lifting a finger, ...
12
2
Data Oriented Design's profile photoTony Albrecht's profile photoSander van Rossen's profile photoTuan Kuranes's profile photo
3 comments
 
Hmm. I wonder what a 6502 version would be like?
Add a comment...
Story
Tagline
the hardware will thank you
Introduction
Data-Oriented design is a new philosphy of software development that concentrates on the transformations of the data by looking at the inputs and the desired outputs. This stands out as all other software engineering practices have concentrated on the code, how few lines of code, or how expressive the code can be.