previous      content      next
Profiling overhead: how to reduce or avoid

The profiler may add some overhead to the performance of applications you profile. This overhead may vary from virtually zero to significant, depending on the conditions described below.

Overhead of running an application with profiler

If CPU profiling is not running, the overhead depends on the profiling capabilities specified on the Welcome screen.

  • Enable profiling except for CPU tracing (.NET 2.0 or newer only):

    The overhead is virtually zero.

  • Enable profiling

    There will be some overhead, which is acceptable for most applications.

Overhead when measuring is performed

When CPU profiling is running, the profiler adds extra overhead. After measuring is done and turned off, overhead should decrease to the initial level described above. Tracing overhead is greater than sampling overhead.

Snapshot capture

During the capture, the profiled application is paused. The time it takes to capture a memory snapshot depends on the heap size. Capturing memory snapshots of huge heaps takes more time because of the intensive use of the system swap file (if little free physical memory is available).

previous      content      next