ANTS Performance Profiler 8: Web request, Async code, WinRT
ANTS Performance Profiler 8 Beta, recently released by UK based Red Gate Software Limited provides support for Web request, Async code and Windows store app profiling. The release also includes support for SharePoint 2013 and a new timeline, which enables you not only to monitor the performance of application but also drill down to the specific regions
you want to investigate.
The latest beta release has been refreshed in such a way to start a profiling session in a faster manner which enables you to get results quickly. Moreover, you will be able to profile ASP.NET websites in IIS, IIS Express, and Web Dev Server using any or default browser.
InfoQ had a chat with Ben Emmett, Product Marketing Manager, .NET Tools Division, Red Gate Software to know more information about ANTS Performance Profiler 8 Beta release.
InfoQ: For what purpose ANTS Performance Profiler is used?
ANTS Performance Profiler shows you your performance bottlenecks, allowing you to understand and improve your .NET application’s performance. It's designed to be used at any stage of the development process - whether as part of a routine check to make sure performance is acceptable, or when you discover a performance problem in live code which has to be resolved urgently.
InfoQ: How is ANTS Performance Profiler different from other competing products?
The most difficult-to-diagnose performance issues tend not to be isolated to just one part of an application, but rather caused by the interaction of different parts of a system. ANTS Performance Profiler is the only .NET tool which shows the data access requests (Database, HTTP, File I/O) hooked up to the code that generated them. With this, it is simple to track excessive requests, or excessively long requests, back to the source code that caused them to run. This is particularly useful for understanding performance issues with ORMs, and it provides a level of understanding that would otherwise require juggling 4 separate tools.
ANTS Performance Profiler also stands out for the speed with which you can get results. Our users have been telling us about the most crucial information for diagnosing performance issues, and as a result large parts of the interface have been rebuilt for the new release to make it easier to surface that information. At its worst, performance profiling can be like opening nested boxes of worms, but ANTS Performance Profiler gives clear, meaningful results whether the underlying problem is simple or complex.
InfoQ: Will there be any performance improvement for applications if ANTS Performance Profiler 8 is used?
Most of our users have made significant performance improvements, and we often hear from people who have been able to speed up their code by several orders of magnitude. Naturally the precise gains depend on the application, but it would be extremely rare to find software which couldn’t benefit at all.
InfoQ: What is the necessity of profiling Windows Store apps?
Being fast is important for any application, but it's especially the case for Windows Store apps where a responsive-feeling UI is crucial, and where inefficient apps can suck away at the battery.
Because of that, Microsoft has imposed some strict performance requirements for Windows Store apps, and failure to meet those requirements is likely to get an app rejected from the Windows Store. That includes limiting the amount of processor time apps can use in the background (only 1 second of CPU time every 2 hours), enforcing an app start up time limit of 5 seconds, and killing any app blocking the UI thread for more than 50ms.
The only way to avoid falling foul of those restrictions is to understand your app’s performance, and profiling is the best way to achieve that.
InfoQ: What is the benefit of web request profiling & Async code profiling?
The Async / Await keywords in C#5 make it easy to write asynchronous code, but understanding how that code runs under the hood can be really difficult. Other profilers just show the underlying state machine for Async methods, which the CLR has constructed behind the scenes. That makes it difficult to relate work done in an asynchronous method to the method which caused it to run. ANTS Performance Profiler gives you results directly related to the code you wrote, rather than forcing you to understand the behind-the-scenes implementation of Async.
Web request profiling shows you how your application interacts with other web servers. You can quickly pick out long-running, repeated, or failed requests, and also see information about the nature of those requests. It’s part of a bigger strategy to show everything developers need to know about their application’s data access - a common and growing cause of performance bottlenecks.
InfoQ: Is it possible to work with ANTS Performance Profiler from within Visual Studio 2012?
ANTS Performance Profiler is a standalone tool. The rich UI, particularly the performance timeline, means that it is not suitable to run inside Visual Studio, but most developers prefer the added power. We provide a VS extension which can automatically configure and start a profiling session based on the project’s settings from within Visual Studio.
InfoQ: Can disclose the future roadmap for ANTS Performance Profiler?
We are aiming to release version 8 in March. After that we’ll continue working on it with a particular focus on making it even more useful for web developers. We’ll also be making some big improvements to its sister tool ANTS Memory Profiler.
Dmitriy Khmaladze and Leonid Ganeline Oct 13, 2015