Performance Engineering, Training, and Town Halls

Last week I attended a two-day course on performance engineering. It was really high-level, and covered a lot of common-sense items, but it was still rather interesting. It looks like the "free ride" of processor speed improvements is coming to an end, and Microsoft is embracing the need to focus on performant features. This is a heartening decision, one that I hope sticks.

I took more than five pages of notes in Word, but a few takeaways were:

• You will be wrong more often that when you are right on your first guesses as to performance problems. The secret to greatness is weeding out the bad guesses as fast as possible.
• An L1 cache miss is now as expensive as what a page miss used to cost to go to disk. -- If a register access took a second, a disk access would be a couple of weeks, and the internet would take most of a year.
• Inefficiencies can happen in the app, but others can be in the OS or Hardware. Almost all of these can be reduced by changes in the application.
• Amdahl’s Law: The performance that can be gained by using a faster mode of execution is limited by the fraction of time that does not execute faster.
In other words: Focus on where the application is spending the most time.

Speaking of training, there is a lot of it available. For example, just one of the several training websites available internally has 20 events coming up next week, ranging on topics from Secure Software and Developing with Design Patterns to ITIL Essentials and Designing for Performance on SQL Server 2005. And this doesn't include the hundreds of courses that were recorded and available as a webcast.

Town Hall
I started this post while waiting for the Employee Town Hall webcast to start, which is also being broadcast to nine of the Cafe's. There was a lot of good stuff in it. The first 1.5 hours brought us up to speed on what the different divisions were doing; the last half hour was the best, though, discussing changes to the review system. It is mostly moving away from the curve-based highly competitive ranking that existed before into the realm of individual performance-based rewards. This, in combination with the on-site/home-based perks announced (towels are back!), is very good news indeed.