Andrew Hunter is a Software Engineer at Red Gate who is responsible for much of the recent rewrite of ANTS Performance Profiler and ANTS Memory Profiler. Before that, he wrote the SQL Layout utilities for SQL Refactor/SQL Prompt. He has been described as resident master of the dark .NET arts. Dereferenced in a freak accident, he is forced to spend his days hiding from the garbage collector.
The original generation of PDAs, the ancestors of today’s mobile devices, were notably limited in their connectivity. They relied on a regular, often daily, ritual of synchronisation where they would be connected to a desktop machine by a wire and synchronise their data. Mobile devices are changing the way applications are designed in some fundamental … Read more19 October 2012
Unit Testing has come to dominate the many types of test that are used in developing applications. This has inevitably been at the expense of other types, such as integration test. Does a successful unit test regime ensure quality, or should we see unit testing as just one of a range of tests that can together give us confidence in an application?… Read more13 November 2009
The Early Access Program for ANTS Performance Profiler 6 has begun. You can get the new version from the EAP forum, here. There are three major new features in this early build, with more to come in the future: Sampling This new profiling mode is available from the session setup dialog. Sampling works by periodically … Read more09 September 2009
When developing a .NET application, one of the least visible sources of memory consumption is the overhead required by an object simply to exist. In applications that create a lot of small objects, this overhead can be a major or even a dominant factor in the total memory requirements for the application.… Read more17 June 2009
Once you understand how .NET's garbage collector works, then the reasons for some of the more mysterious problems that can hit a .NET application become much clearer. NET may have promised the end to explicit memory management, but it is still necessary to profile the usage of memory when you're developing .NET applications if you wish to avoid memory-related errors and some performance issues.… Read more08 June 2009
I write a lot of comments in my code: these days it’s second nature. Every declaration I write has a comment describing what it’s for and maybe some remarks describing things I think are the associated gotchas. Inside method definitions, I maintain a running commentary describing what the method is supposed to be doing and … Read more21 April 2009
When you are developing a multi-threaded application, you will need to understand how the operating system decides which threads are to be blocked, and which should run. Performance comes from running the optimum number of threads at all times, getting the maximum benefit from the computers processing resources. … Read more19 March 2009
You'd have thought that memory leaks were a thing of the past now that we use .NET. True, but we can still hit problems. We can, for example, prevent memory from being recycled if we inadvertently hold references to objects that we are no longer using. However, there is another serious memory problem in .NET that can happen out of the blue, especially if you are using large object arrays. Andrew Hunter explains... … Read more
Join Simple Talk
Join over 200,000 Microsoft professionals, and get full, free access to technical articles, our twice-monthly Simple Talk newsletter, and free SQL tools.