top | item 34058131

(no title)

trap_goes_hot | 3 years ago

Obviously a very very gross generalization (might get called out on it too :P) - But I think the low hanging fruit for modern software is optimizing data layouts for fast processing.

Optimizing code requires a lot of work, and requires skills that people usually learn from experience - therefore a rare and expensive skillset. Data-Oriented Design can be taught, and requires (IMO of course) a far less technical skillset.

discuss

order

anonymoushn|3 years ago

This is difficult because lots of tools don't let developers choose their data layouts. For example you cannot declare an array of structs in Java.

physPop|3 years ago

This is very true. The tower of template and OO class hierarchies typical in c++ codebases make the memory layout impossible. Polymorphism and vtables are so killer for performance. I think general programming can learn a lot of lessons from HPC and game engines.