It’s easy to treat the CPU that executes our code as a black box, but understanding what really goes on inside it can help you write more efficient code. In this talk, Matt will lift the lid on modern x86 processors. He’ll explain some of their features and how the code you write maps to those features. He’ll give examples of how to diagnose and fix performance issues. Topics covered include memory, caching, out-of-order execution and branch prediction.
The course is a bit low level for where I work, but it is a very good course that introduces you to some interesting CPU concepts if you are not already familiar with them. I used to work with Matt back in the late 1990’s and early 2000’s when I was in the games industry. The company we worked at was Argonaut Games Ltd in London UK. Matt was a graphics engine developer, so he would write the rendering engines on various different games consoles. Whilst I had a good grasp of 3D graphics processing, I was never good at the low level programming aspect of it all. My area of expertise was Tools development and Games AI. If I remember correctly, the game Matt was working on at the time I left was Red Dog on the Sega Dreamcast.
Even if you are a .NET / Java developer, I recommend watching the course as it gives you some good appreciation on how modern PC based processor architectures work.