Welcome Guest!
Create Account | Login
Locator+ Code:

Search:
FTPOnline Channels Conferences Resources Hot Topics Partner Sites Magazines About FTP RSS 2.0 Feed

Free Trial Issue of Visual Studio Magazine

email article
printer friendly

Unplug Code Bottlenecks
by Ken Cox

November 19, 2004

AQtime 4.3 is an advanced utility for profiling, debugging, and optimizing code in .NET and Win32 applications. You can use it to reveal performance bottlenecks, flag memory leaks, and provide extensive reports on the health of your code (see Figure 1). The software can run either in standalone mode or integrated within the Visual Studio .NET environment.

ADVERTISEMENT

Advanced developers constitute the primary audience for this package, but it also presents a fine learning opportunity for average programmers who need help writing efficient, tight code. For example, you might be struggling with sluggish performance in a realtime graphing application and wondering where you could optimize it. You can turn AQtime loose on a debug build of the app and watch it report on slow routines and functions that are called frequently. You can use this information to decide where to focus your resources—for instance, you might want to use unsafe code for a time-critical algorithm or invest in a third-party graphing engine.

AQtime might overwhelm newcomers at first. A "Getting Started" guide that runs more than 300 dense pages is intimidating enough, but then you're confronted by a busy user interface with a dozen panels and several tabs. Fortunately, you can take it all in bite-sized chunks by heading to the Samples and Tutorials section of the online help. It walks you through several sample applications and acquaints you with the screens, terminology, profiler types, and reports.

You can gather data by pointing AQtime at your modules and tell it what to profile at run time. The useful Get Results button preserves volatile values such as resource usage before garbage collection steps into the picture. You can view results from many angles—the Editor tab shows the source code for the selected/troublesome routine, the Call Graph displays the hierarchy of calls, and the Call Tree shows a hierarchy of references between objects. You can merge results and export to Excel and other formats for further analysis.

The hard part of using AQtime is interpreting the results, understanding what is wrong, and deciding what to fix. The product offers tidbits if you dig into the right areas. For example, the Summary tab lists "Performance hot spots," such as threads with the worst performance. A search of the online help also provides limited guidance on fixes, such as checking the "% with Children" column to see if the routine is making expensive calls—in which case you could consider moving the child call out of a loop. A beefed-up wizard-like Assistant pane that interprets selected results and displays suggestions onscreen dynamically would be a superb addition.

AQtime is a valuable tool for advanced coders and sold at a reasonable price. The next challenge is to broaden its appeal by flattening the learning curve and making it less intimidating to the average developer who probably needs it most.

AQtime 4.3
AutomatedQA
Web:
www.automatedqa.com
Phone: 702-891-9424
Price: $599.99
Quick Facts: Utility for profiling, debugging, and optimizing code in .NET and Win32 applications.
Pros: Quickly produces extensive reports on code and its performance at run time and in static mode; allows many ways to view statistics and drill down into bottlenecks; extensive documentation.
Cons: Oriented mainly toward advanced developers; could use wizard-like advisors to assist average programmers with solving performance issues.

About the Author
Ken Cox is a programming writer and .NET developer in Toronto creating e-commerce Web applications and technical documentation for software and components. Ken is a Microsoft Most Valuable Professional (MVP) for ASP.NET. Reach him at .




Back to top














Java Pro | Visual Studio Magazine | Windows Server System Magazine
.NET Magazine | Enterprise Architect | XML & Web Services Magazine
VSLive! | Thunder Lizard Events | Discussions | Newsletters | FTP Home