views:

2389

answers:

6

I'm looking for a profiler to use with native C++. It certainly does not have to be free, however cost does factor into the purchase decision. This is for commercial work so I can't use personal or academic licensed copies.

The key features I'm looking for are:

  • Process level metrics
  • Component level metrics
  • Line-level metrics
  • Supports Multi-threaded code
  • Usability
  • Cost
  • Visual Studio 2005 Professional support required (VS 2008 Professional support highly desirable)

I've used Intel's VTune and Compuware's Devpartner Performance Analysis Community Edition.

VTune seemed very powerful but it has a steep learning curve. It also is very "modular" so you have to figure out what parts are you need to buy.

DevPartner PACE was pretty easy to use and provides all of the key features however it's only a 45-day trial. The licensed version (DevPartner for Visual C++ BoundsChecker Suite) is about $1400 a seat, which is doable but a bit high imo.

What are some good profilers for native C++ and WHY?


See also:

What's Your Favorite Profiling Tool For C++

A: 

Duplicate: What's Your Favorite Profiling Tool For C++

Paul Tomblin
I commented about the possible duplication under my post.
Burly
It's not a total duplicate because this one is windows specific
epotter
Well, Mister "responds to the question 5 months late", most of the answers to that question were Windows specific as well.
Paul Tomblin
+2  A: 

On Windows, GlowCode is affordable, fairly easy to use, and offers a free trial so you can see if it works for you.

AShelly
+3  A: 

Many people are not aware but MSFT is making a great progress putting the best possible tools for improving performance in the hands of devlopers for free :-). They are exposing to all of us the internals of Windows tracing: ETW.

perftools

It is part of the new windows SDK for server 2008 and Vista. Simply impressive and must to download if performance analysis and profiling under Windows is your goal (regardless of language).

Check the documentation here before you decide to download it:

msdn doc

screenshots

antonio
IIRC perftool is more a system performance monitor (CPU vs disk/network loading) rather than a function level code analyser?
Martin Beckett
+2  A: 

Try Intel Parallel Studio. Currently, it's in beta, but the name Intel says it all.

http://www.intel.com/go/parallel

ShaChris23
A: 

Definitely Visual Studio Team System. By far.

Alex
A: 

Just found Luke StackWalker on SourceForge (http://lukestackwalker.sourceforge.net/). Unfortunately it does not have a 'focus on sub tree', but it remains handy to use, uses the symbol server (I suggest you set it up immediately if you don't have it yet), offers a graphical visualisation, ...

The down side is that it doesn't show the accumulated times (samples) of the child functions.

Another alternative is "Very Sleepy" (http://www.codersnotes.com/sleepy). It can show the accumulated times of the children, but unfortunately it doesn't use the symbol server.

Patrick