views:

296

answers:

3

I'm building a desktop application that runs in a Windows environment using .net technology.

It's important that this application run smoothly and consume as little of the user's system resources as possible, since the user is likely to keep it running throughout the work day.

I'm looking for good, in-depth resources on how to construct and tune the application.

I'd like to know things like:

  • What performance metrics should I gather?
  • How do I identify resource bottlenecks?
  • How can I improve application startup times?
  • How should I troubleshoot performance issues that occur under different OS configurations and/or different hardware configurations?

What books, websites, or tools have you found useful?

+6  A: 

I like Chris Sells' book on winforms also Joe Duffy's book on concurrent programming is outstanding. ANTS is an excellent .NET performance profiler to help you identify and remediate performance bottlenecks and the .NET memory profiler is very good for making sure your memory usage is perfect.

What performance metrics should I gather?

At least memory usage, CPU usage and disk usage.

How do I identify resource bottlenecks?

ANTS

How can I improve application startup times?

Lazy Loading is one technique. Also, don't have a delay on your splash screen (don't laugh, we had one customer praise us for improving app. startup time just by removing the 5 second slash screen delay they had :)

How should I troubleshoot performance issues that occur under different OS configurations and/or different hardware configurations?

ANTS

JP Alioto
Haha. So I take it you like ANTS, JP? I'll check it out.
dthrasher
Second ANTS profiler. I loved how it showed all the potential bottlenecks and the time spent on each line of code. It helped me get some serious performance.
mcauthorn
+8  A: 

Microsoft's Patterns and Practices has a good resource online: Improving .NET Application Performance and Scalability. Part V (chapters 15-17) deals specifically with performance measurements, testing and tuning. You can download it here or get it in book form as well. Some other P&P books are also available for download on CodePlex.

Ahmad Mageed
Nice link. I'll check it out!
dthrasher
+1  A: 

If you are looking to develop the Desktop Application using WPF , you might want to take a look at profiling tools for WPF at http://msdn.microsoft.com/en-us/library/aa969767.aspx

rravuri