Friday, May 13, 2005

Make It Snappy: Juice Up Your App with the Power of Hyper-Threading -- MSDN Magazine, June 2005

Make It Snappy: Juice Up Your App with the Power of Hyper-Threading -- MSDN Magazine, June 2005: "yper-threading technology improves CPU efficiency by allowing the processor to execute two instruction streams concurrently. This feature, found on newer Intel Pentium 4 processors, can typically improve the performance of apps by 20 to 30 percent, boosting some apps by up to 40 percent.
Unfortunately, other applications see no performance benefit, and a few can experience significant performance degradation (I've seen application degradation of as much as 20 percent), especially when violating recommended performance best practices such as the ones discussed in this article. Moreover, given the concurrency this feature introduces to single-processor computers, some multithreading bugs that may only manifest themselves on multiprocessor machines are likely to show themselves on a hyper-threaded single-CPU machine, as well.
In this article, I'll explore the hyper-threading technology and demonstrate how adding parallelism to your code can improve performance on hyper-threaded machines. I'll cover advanced optimizations for hyper-threading and will show you a few useful patterns. My code samples are in C#, but the same principles apply to both managed and unmanaged applications."

No comments: