On Thursday 03 February 2005 08:22, Yuri wrote:
> I use cachegrind-0.9.10 -- older version -- and it's working nicely
> except for two problems:
Hi Yuri,
you are confusing cachegrind and callgrind. Callgrind is an extension of
cachegrind, but external to VG releases. It is distributed separately on
kcachegrind.sf.net.
> 1. truncates long C++-mangled names
Which length do you need? I thought the current maximal length of 4096 (?)
should be enough. Perhaps Callgrind/Cachegrind should output mangled names
and KCachegrind itself should unmangle them...
> 2. leaves some functions with "cycle 4" non-descriptive names.
These functions are produced by the cycle detection inside of KCachegrind, and
have nothing to do with the measuring tool. A cycle is a set of functions
which have called each other in a recursive manner (at least by looking at
the call graph). Have a look at the "Callee Tab" of a cycle to see the member
functions.
There is no bug. GProf would do the same. You should try to reduce the cycles
by generating "functions" which do not call each other in a recursive way.
That is sometimes possible if there is no real recursion in your program, but
different call chains make the call graph appear to have a cycle.
* Generate call chain contexts instead of pure function contexts (e.g.
--separate-callers=3). Be aware that call chains will be a concatenation of
the function names in the chain.
* Specify functions which should never appear in the generated calls (multiple
--fn-skip=func). It will look like "func" was inlined to each call site. This
can break cycles.
For real recursion, try to distinguish the first few recursion levels (e.g.
--separate-recs=5). The function names get the recursion level appended.
> Hoping that these are fixed I took version from CVS of valgrind with
> cachegrind inside today.
Surely above issues can not be "fixed" by using VG CVS.
> First: options --simulate-cache=yes --simulate-hwpref=yes
> --simulate-wb=yes --collect-jumps=yes --dump-instr=yes
> are all gone -- not supported.
See above. Cachegrind != Callgrind.
> kcachegrind (also fresh from CVS) doesn't show any C++ function names.
If you are loading files generated from cachegrind? That would be a bug...
> My questions:
>
> What's wrong with the current version of valgrind, are these options now
> default ?
> Or I am doing something wrong ?
> Also what's these "cycle 4" functions and why there source is not shown
> by kcachegrind ?
Josef
>
> Thanx,
> Yuri
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
> Tool for open source databases. Create drag-&-drop reports. Save time
> by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
> Download a FREE copy at http://www.intelliview.com/go/osdn_nl
> _______________________________________________
> Valgrind-users mailing list
> Val...@li...
> https://lists.sourceforge.net/lists/listinfo/valgrind-users
|