Herb Sutter on C++0X and Performance


 
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.
 
Advertisements
This entry was posted in C++. Bookmark the permalink.

One Response to Herb Sutter on C++0X and Performance

  1. Pete says:

    You can find a more recent version of Herb’s awesome talk here: http://www.nwcpp.org/Downloads/2007/Machine_Architecture_-_NWCPP.pdf
     
    There’s also a video version: http://video.google.com/videoplay?docid=-4714369049736584770

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s