12 ms·
To be fair, the micro-optimizations are nice, and being able to just throw a switch and turn them on is nice. Of course you're right that a compiler is "never"
by sounds 12y ago
To be fair, the micro-optimizations are nice, and being able to just throw a switch and turn them on is nice. Of course you're right that a compiler is "never" (boy, prove me wrong, then shut up and take my money!) going to convert Array-of-Structs to Struct-of-Arrays code, for example.
- orodley 12y agoJonathan Blow is doing some very exciting stuff in this area with his new language. Check out his latest talk on YouTube about data-oriented programming.
- sanxiyn 12y agoFYI, LLVM was a byproduct of Chris Lattner's PhD thesis titled "Macroscopic Data Structure Analysis and Optimization", which aimed to do exactly that. It is still a great paper. Alas, it was found that doing the basics well is much harder and larger task than doing the proof of concept of very clever optimizations.