Re: Data oriented programming

Mike Acton <[email protected]> Wed, 29 Sep 2010 18:47:14 -0700
Newsgroups gmane.games.devel.sweng
Message-ID <[email protected]>
I'll add my two cents to what Tony said: I personally think the most
important thing to keep in mind is that fundamentally the goal of *any *program
(at any level of the hierarchy - from application to function to single
instruction) is to transform data from one form into another. Understanding
that data being transformed is the key to doing that well. The reality is
that it's always a mix of mental models, but the real *problem* in practice
is that not only is there no real understanding of the data being
transformed, but it's ignored *completely* - as though "data" is some
abstract concept that can be ignored.

Mike.

On Wed, Sep 29, 2010 at 5:47 PM, Tony Albrecht <[email protected]>wrote:

> Hi Gabriel,
>      A lot of the work I do is related to optimisation of code or at least
> producing code that has to perform well, so I use a lot of the concepts
> mentioned in that paper extensively (and I should too, I wrote it :) ). The
> key thing to consider is your data - how much of it you access and in what
> order and where it goes. I find that just reordering data into contiguous
> chunks has a positive effect, regardless of the state of the code using it.
> Once the data is fixed, massaging the code that uses it into a better state
> ( SIMD becomes easier on contig data) improves performance even more.
>
> Taking an existing code base and retrofitting DOD concepts into it can
> create some pretty nasty code, but designing with data in mind right from
> the start can produce maintainable, readable, extensible code that runs
> fast.
>
> -Tony
>
> On 29 September 2010 19:01, Gabriel Sassone <[email protected]> wrote:
>
>> Hi everyone,
>>     just wondering if anyone of you has some experiences with
>> "Data-oriented programming" stuff.
>> To push the limits of the PS3 you must use SPUs very well, and to do
>> this I found that the "data-oriented programming" is really useful and let
>> you create a very scalable framework.
>> There are some papers around (the most know is probably the one from
>> Sony):
>>
>>
>> http://research.scee.net/files/presentations/gcapaustralia09/Pitfalls_of_Object_Oriented_Programming_GCAP_09.pdf
>>
>> I've experienced in small scale (on PS3) and found it really intriguing
>> and performance wise.
>> Also it is possible to use this mentality to improve performances on X360
>> and PC, almost all platforms!
>>
>> What are your experiences with that?
>>
>> Thanks!
>>    Gabriel
>>
>> _______________________________________________
>> Sweng-Gamedev mailing list
>> [email protected]
>>
>> http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com
>>
>>
>
> _______________________________________________
> Sweng-Gamedev mailing list
> [email protected]
> http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com
>
>

_______________________________________________
Sweng-Gamedev mailing list
[email protected]
http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com