Case Study: Autodesk

AutoDesk Uses AQtime for Fast, Reliable and Accurate Profiling

About Autodesk

For 24 years, Autodesk has invested in people, software, and technology to help customers realize their ideas—to compete and win. Autodesk first revolutionized the software industry with the AutoCAD® product, which introduced drafting on a PC. The widespread popularity of AutoCAD software forged our company’s lifetime commitment to practical innovation that drives productivity and profitability. AutoCAD also paved the way for Autodesk technology leadership in industries such as building, infrastructure, manufacturing, media and entertainment, and wireless data.

Searching for a Profiler Tool

Autodesk first started searching for a profiler tool when they needed to find performance issues quickly and reliably. "What first led us to use a profiler tool was the need to quickly determine where performance slow downs were occurring in our code. We had been using various methods of timing and tracking (Visual Studio’s tools, task manager, stopwatches, as well as home grown, embedded code) but no solution was holistic enough to suite our needs. I was asked to validate AQtime to see if it met our needs," said Peter Varga, from Autodesk.

"AQtime provides a robust feature set with supporting help documents,"
Peter Varga, from Autodesk

Choosing AQtime Pro

Peter said that numerous factors were useful for Autodesk when determining whether to use AQtime or some other competitor’s software:

"The tool has everything we typically need – We like being able to track timing, report results, and quickly ascertain bottlenecks. We’ve used a lot of the features in AQtime and the help documents provide adequate material in supporting these features. The online material/content is also easy to navigate and provided valuable information readily."

"Easy to “drill down” into functions and analyze Parent / Child calling functions – Clicking on these functions easily allows us to traverse the call stack and/or a single click to sort the order of called functions (based upon routine names, time, % time, timing with children, and hit counts), which in turn, allows us to determine key sections of the code to investigate further."

"Ease of use/configuration – The ability to control Environment, Profiler, and User defined options is a very nice feature; however, the main selling feature for us was definitely the ease of use: To be able to quickly and dependably load the .EXE/.PDBs and run the application and then start generating data in a timely manner is a necessity. AQtime provides this to us in every aspect."

"Reporting and Sharing results – To be able to not only profile and track the output over successive runs (historical tracking) but to also be able to share this data by saving to .TXT, .XLS, .XML, or .HTML formats is another nicety. The pie graphs and call charting are especially useful in sharing data with non-technical personnel and quickly displaying information in a “high level view” format."

"Lightweight/Large applications supported – Due to the “hooks” based implementation of AQtime, it is possible to work reliably with our software (a “large” / “real world” sized application) outside of the AQtime application, (typically other profilers need to run the application within the profiler itself). It has been noted that other profilers seem to have difficulty, slowness, or problems associated with them when running large applications with many DLLs and AQtime has no problems with any of these."

"Cost effective – At a reasonably inexpensive price point, a company such as ours has the ability to provide the AQtime utility to multiple developers to utilize for their respective own needs. This also allows for a common tool that can be used by developers to utilize the same information gathering techniques in differently related areas."

"Good tech support – In the single case in which we used the tech support, we were able to notify AutomatedQA of an issue, we were provided with a fix / solution in a very timely manner. This has given Autodesk a very positive feeling about potentially future dealings with such issues."

"Downloadable install from Web – This is pretty nice. No need to wait for CDs. Seems to streamline and expedite the process of a need to productivity."

Finding Bottlenecks from the Start

Peter said, "I launched AQtime, loaded our main executable and respective DLLs, and determined where the bottlenecks were from our initial use. AQtime provided detailed information for the timing of our function calls with child processes as well as the hit counts. This information was then used to determine the best way to streamline and tweak our code to become more efficient and faster."

Fast, Reliable and Accurate Profiling

“AQtime allows us to quickly and painlessly discover performance bottlenecks in our code. Performance tools that we have used in the past have not worked at all, worked too slowly, or required far too much setup time to be used on our large, real world CAD applications involving millions of lines of code and hundreds of modules. With AQtime, we are able to configure, run, and get accurate results in a few minutes, which allows more team members to use the tool more often.”

All company names and/or products referenced herein are either registered trademarks or trademarks of their respective trademark holders.