Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are some good profilers for native C++ on Windows? [closed]

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++

like image 450
Zach Burlingame Avatar asked Sep 30 '08 15:09

Zach Burlingame


People also ask

What are profilers in C#?

A profiler is a tool that monitors the execution of another application. A common language runtime (CLR) profiler is a dynamic link library (DLL) that consists of functions that receive messages from, and send messages to, the CLR by using the profiling API. The profiler DLL is loaded by the CLR at run time.

What is C profiling?

The C Profiler tool enables the collection and display of execution profile data on C software source code bases of arbitrary size. It is a member of SD's family of Profiler tools.

How to Run Profiler in c#?

Open the Performance Profiler by choosing Debug > Performance Profiler (or Alt + F2). The tool shows each async operation in a list view. You can see information such as the start time, end time, and total time for an async operation.

Which is a profiling tool?

You can use profiling tools to identify which portions of the program are executed most frequently or where most of the time is spent. Profiling tools are typically used after a basic tool, such as the vmstat or iostat commands, shows that a CPU bottleneck is causing a performance problem.


1 Answers

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

like image 111
AShelly Avatar answered Oct 01 '22 18:10

AShelly