Eric Eilebrecht's blog

ThreadPool changes in .NET 3.5 SP1 Beta

.NET 3.5 SP1 (A.K.A. CLR 2.0 SP2) is now available as a Beta release.

This beta release has the fix for the ThreadPool ramp-up issue discussed here and here.  It also has some other improvements to the ThreadPool's thread creation algorithm that can dramatically improve performance in some situations.

The "thread injection" algorithm in the ThreadPool is a tricky beast.  There's simply no perfect solution to the problem - so every change is a complex balancing act between improving performance for a specific customer scenario on the one hand, and not creating more problems for other customers on the other.

We've tried to make these changes as carefully as possible, running them through all the threadpool scenario tests we've accumulated over the years.  But we can't possibly test every real-world workload - we don't even know about them all! - and we necessarily have to depend on things like beta releases to find the problems our tests will never find.

If you have code that uses the thread pool, I encourage you to download this beta and try it out.  Feel free to leave a comment here about any problems you might find, or you can use the official discussion forum and feedback center for the beta. 

And if you have any suggestions for future improvements, and especially if you have examples of workloads that the current ThreadPool does not handle well, please let us know. 

I look forward to any feedback you might have.

Published Monday, May 12, 2008 12:22 PM by ericeil
Filed under: ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Leave a Comment

(required) 
(optional)
(required) 
Submit

About ericeil

I have been working for Microsoft since 1997. I started as a test developer in the Windows team, then moved on to develop backend storage services for Hotmail (now Windows Live). I am currently a developer on the Common Language Runtime team, where I work on threading.

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker