Optimizing Application Performance with Visual Studio 2005

To ensure optimum application performance in terms of throughput and processing speed, performance tuning can play a critical role. However, it could entail risks and unforeseen costs without the right approach. In order to reduce risks and costs, performance tuning should be treated as an integral part of a project life cycle. In most projects, however, it is conducted during the final stages of testing or when customers complain about performance post production deployment.

Performance tuning of .NET 2.0 applications can be achieved using Visual Studio 2005 tools. In this paper, I explore these tools and also provide guidelines on how to use them.

[Updated: 28th January 2008] This and other Infosys papers/handbooks on MS technologies can be found here.

Comments

I read this paper and I think it is excellent. I recommend anyone interested in this topic to read it. I especially like the full life cycle approach (FxCop to production machine testing) approach Atul takes on this topic.

Do not agree with Page 10 point C about using threads from ThreadPool. "Blocking a large number of threads from the thread pool will starve the system of resources". Did not find any reliable references for the thumb rule that you state.

Rajesh, point C should not be treated in isolation. On Page 9, point A, i already state that one should be aware of overheads related to threads.

That said, threading is something that one has to decide based on the specific application needs. If you end up using threads, that keep getting blocked very often, then it surely will not be a good choice.

And finally, there is always a balance between UI responsiveness and system resources. If you don't do threading, you may not have issues with System resources, but the user may have wait for half an hour for the operation to complete and the application may appear hung in the meantime !!