vineri, 8 octombrie 2010

Comparison between .NET Memory Profiler 3.5 (SciTech) - ANTS Memory Profiler 6.0

Comparison between .NET Memory Profiler 3.5 (SciTech) - ANTS Memory Profiler 6.0



Both tools

  • work with memory snapshots
  • can make difference between snapshots
  • give information about the:
    • live instance
    • instance difference (between snapshots)
  • you have info related to types that are reference and the types that are referred by another type (instance)
  • you have details related to type instance
  • Integration with Visual Studio
  • Time to save a session is consistent


.NET Memory Profiler 3.5 (SciTech)

  • Even you can set filters for memory snapshot the time needed to take a snapshot was about 3 hours
  • You can attached to an existing process (with ANTS Memory Profiler 6.0 seems that you can attached only to a .NET 4 process)
  • Even, you can start an executable, in my case, starting IxNetwork from SciTech tool has seldom succeeded (almost of time starting IxNet failed)
  • You can filter objects by name and by namespace
  • It gives some information related to Direct/Indirect Event Handler roots, Direct/Indirect Delegate roots (these roots are more likely to be the root of a leak)
    • it is better highlight the object with problems
    • also, you have the chance to see which instance are with problem/s
  • You can see instance values at a moment
  • Check the memory usage


ANTS Memory Profiler 6.0

  • Time to take a snapshot: 1-2 minutes
  • Visualization tools are much better (diagrams, graphs)
    • easy to identify the root object that it is keeping a reference (to an event handler for example)
    • Easy to navigate to the objects that refers an instance type of to object that are referred by an instance type (SciTech tool is not so “user friendly” in this case)
    • easy to see referenced object/ object that refer that object (a graph) -- in SciTech tool there is a tab system and it is a annoying to navigate between tabs.
    • In my case there were some issues with AutoResetEvent. With this tool, I have found the root object that keeps those events in less then 5 minutes. With SciTech tool, when I have analyzed the root object for this event, I have come to have some supposition and not a clear picture of the problem.
  • You can filter object by name (full name)
  • It is working harder when you apply filters (in SciTech tool this operation are working a little bit faster)
  • I had some failures with saving a session
  • Save pics/pdf files for a diagram (that, for example, identifies a leak)
  • No way to cancel a snapshot (in my case, the application has crashed, but the snapshot appeared that it is still collecting data. I have to close the the ANTS application).



From ANTS Memory Profiler 6.0 web page

  • Obtain clear, meaningful results
  • Get results fast – With a footprint of less than 32 MB (With SciTech tool the session (compose of 2 snapshots) is about 300 MB)
  • Quickly visualize the relationship between your objects
  • Summary information
  • Powerful filtering options to narrow your search down to the objects you really need to know about. Standard object filters and advanced object filters available.
  • Supports .NET 1.1 to .NET 4.0

Un comentariu: