ANTS Profiler

Latest version: 4.3

ANTS Profiler

Knowledge Base

Methods may be missing on multi-core systems in version 3

Category: Troubleshooting & error messages
Date: 17 Jun 2009
Product: ANTS Profiler
Versions: 1-3

When profiling on dual-core or multi-processor systems, some methods may appear to be missing from the ANTS Performance Profiler results, even though you know they had definitely been invoked.

Because ANTS Performance Profiler is active on one same CPU as the program's main thread, IL code will go undetected by ANTS Performance Profiler if the program spawns another thread which is scheduled on a second processor. The workaround would be to set processor affinity on the process. There are some third-party applications available that can configure a specified process so that it will be confined to only one CPU, regardless of thread creation.

On ASP .NET web applications, processor affinity can be set by modifying the relevant .NET Framework's machine.config file. In the processModel section, add an attribute called cpuMask. For example,
<processModel autoConfig="true" cpuMask="0x01" /> -- this will set affinity to the second processor.

ANTS Performance Profiler version 4 has this feature built-in, so no system modifications will be necessary. ANTS Profiler 4 sets the affinity of the process being profiled so that it runs only on one processor. This feature can be turned off only by modifying the ANTS Profiler configuration file (PerformanceProfilerSettings.xml). Turning this off may result in wildly inaccurate times and missing methods in the ANTS Profiler results.

Document ID: KB200809000296 Keywords: ANTS,Profiler,affinity,dual,core,missing,method

Was this article helpful?

Search support
Forums
Visit the ANTS Profiler forum.

ANTS Profiler

all products