Profiling multithreaded C++ code

  • Thread starter Richard Wallace
  • Start date
R

Richard Wallace

Hello all,

I'm looking for some input on the best tools to use for profiling
multithreaded C++ code developed on GNU/Linux and compiled using
gcc-3.1. More specifically, the distro in use is RH 7.2 running
kernel 2.4.7 with SMP. The box has dual processors.

Some of the options I've found are
gprof - standard GNU profiler that comes with gcc. The biggest
problem with this is that it does not support multithreading or
multiprocessors. There's a workaround for the multithreading support,
but I'm not very confident in it's accuracy.

cprof - this was something developed by Corel for profiling wine.
AFAIK, it is no longer developed or supported. I've been able to find
very little on it other than old posts in mailing lists and news
groups.

tau - seems the best that I've seen so far. It's a little more
complicated than the others and requires you to add support to the
code (which sucks 'cause our code base is several 100's of thousands
of lines of code). It does seem to be the most thorough and the most
maintained of the others.

FunctionCheck - also seems to be very good. It doesn't require any
code modifications and was written explicitly to make up for the
limitations of gprof. It seems as though development has been halted
for about a year and I had some problems during compilation, but
otherwise it seems like it will get the job done. This is the way I'm
leaning ATM.

These are all open source tools. I'd like to stick to that, but if
someone has a proprietary tool that they think just blows everything
else out of the water, I'd like to hear about it.

Also, if anyone has any experience, good or bad, with the above
mentioned profilers let me know.

Thanks for your input,
Richard Wallace
 
J

Jack Klein

Hello all,

I'm looking for some input on the best tools to use for profiling
multithreaded C++ code developed on GNU/Linux and compiled using
gcc-3.1. More specifically, the distro in use is RH 7.2 running
kernel 2.4.7 with SMP. The box has dual processors.

[snip]

Take this to the Linux groups in the family.

We discuss the C++ language here, which does not define GNU, threads,
Red Hat, etc., so it's all off-topic.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++ ftp://snurse-l.org/pub/acllc-c++/faq
 
A

Alexander Terekhov

Richard said:
Hello all,

I'm looking for some input on the best tools to use for profiling
multithreaded C++ code developed on GNU/Linux and compiled using
gcc-3.1. More specifically, the distro in use is RH 7.2 running
kernel 2.4.7 with SMP. The box has dual processors.

You might want to take a look at:

http://www.intel.com/software/products/vtune/vlin/
(VTune for Linux)

http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,5072,00.html
(Visual Threads for Linux)

regards,
alexander.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,994
Messages
2,570,223
Members
46,811
Latest member
SaulFernan

Latest Threads

Top