In my previous post I talked about BoostCon and gave a bit of insight into C++0X. Herb Sutter recently posted links to some other interesting talks about C++0X that you might enjoy. You can find those here.
Herb also talked about new C++0X features in his blog about the last Standards Committee meeting.
Finally, Herb recently gave a talk about hardware architecture and what it means for programmers. You can find a copy of that talk here. If you’re writing games for Xbox 360 or PS3, much of this talk is old news. If you’re writing games for the PC, you may be surprised at some of the key takeaways. I’ll list a few:
- The root of all hardware complexity is latency. Modern processors reserve a huge amount of die area for systems that compensate for latency. Understanding these systems is the key to maximizing performance.
- On modern architectures, math is fast. In fact, it’s almost always faster than fetching data from RAM. This fact alone should cause you to think twice about old optimization techniques like early-outs and pre-computed tables.
- On modern architectures, floating-point math is often as fast or faster than integer math. Don’t automatically assume it’s slower.
- Keeping data in the L1 and L2 cache are hyper-critical for maximizing performance. It’s always been critical for performance, but it’s even more important now than ever before.
Good stuff, and very relevant to game programming.