By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,312 Members | 1,850 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,312 IT Pros & Developers. It's quick & easy.

Profiling multithreaded C++ code

P: n/a
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
Jul 19 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
On 8 Jul 2003 10:28:51 -0700, ri*************@specastro.com (Richard
Wallace) wrote in comp.lang.c++:
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 news:comp.os.linux.development.*
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
Jul 19 '05 #2

P: n/a

Richard Wallace wrote:

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/...3,5072,00.html
(Visual Threads for Linux)

regards,
alexander.

--
http://www.ibm.com/servers/eserver/linux/fun
Jul 19 '05 #3

P: n/a
You can download an eval version of VTune for Linux at
http://www.intel.com/software/produc.../vlin/eval.htm. Also,
there is a VTune for Linux user-to-user forum at
http://intel.forums.liveworld.com/forum.jsp?forum=136 where VTune
users and VTune engineers discuss different applications.
ri*************@specastro.com (Richard Wallace) wrote in message news:<e6**************************@posting.google. com>...
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

Jul 19 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.