Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Profile and Navigate Third-Party Code as if it Were Your Own

30 Mar 2012 1  
The key to understanding and improving application performance is examining as many aspects of code performance as Performance bottlenecks sometimes lie in the way your code calls methods in third-party or framework assemblies but, without the source code, problems like this can be hard to identify

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

The key to understanding and improving performance is to examine as many aspects of code performance as possible. Performance bottlenecks sometimes lie in the way your code calls methods in third-party or framework assemblies but, without the source code, problems like this can be hard to identify.

Integrated Decompilation

ANTS Performance Profiler is a code profiling tool, used to identify performance issues in .NET applications. Version 7.0 introduces integrated decompilation, which lets you explore performance bottlenecks even in assemblies for which source code isn’t available.

Integrated decompilation is powered by .NET Reflector, an assembly browser and decompiler. This technology is incorporated into the profiler, so even if you’re working on a legacy application, or your application references third-party code, you can get right to the root of the performance issue. You won’t even need to leave the profiling environment. Integrated decompilation can also highlight ways in which you aren’t using third-party controls efficiently, or where those controls aren’t performing as well as expected.

Profiling Assemblies Without Source

When you’re profiling methods and assemblies with no source code file, you can generate source code from the profiler interface. Begin profiling, and select an area on the timeline that you want to investigate. In the Call Tree View, select the method that you would like to explore and click the Decompile button in the Source Code View:

337484/image_1.png

This generates source code for the method. You can then browse and navigate the automatically generated code as if it were your own. The first line of the method body is highlighted:

337484/image_2.png

If you have the assembly’s .pdb file, you can even view line-level timings for the decompiled code, letting you identify the exact line that caused the bottleneck. The heat map alongside the vertical scroll bar helps you jump directly to the lines of code that account for the greatest execution time:

337484/image_3.png

So, do the performance problems in your applications lie in your own code or elsewhere? With ANTS Performance Profiler, you can pin down the bottleneck wherever it lies.

To learn more, simply visit the Red Gate website and help yourself to a free 14-day free trial of ANTS Performance Profiler.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here