On Saturday 20 November 2010, edA-qa mort-ora-y wrote:
> On 11/19/2010 02:53 PM, Josef Weidendorfer wrote:
> > Valgrinds current profiling tools have a given use case: see how your code
> > performs regarding to cache behavior. If that is not an issue, you probably
> > should use other tools, such as strace, perf (for system-wide sampling),
> > or the newly announced "trace" tool. Sure, there is the possibility to 
> > extend
> > the Valgrind tools to cover further use cases, but sometimes you have to 
> > agree
> > that another measurement strategy is just better. E.g. Valgrind simply can 
> > not
> > see what is going on in the OS.
> 
> Thanks for all the help. I looked at perf and it gives us some of the
> numbers we want. I guess perhaps I like the visualization tool
> (KCachgrind) that comes with Valgrind, it makes the data mining so easy.

It's somewhere on my TODO list for KCachegrind to be able to load perf data.
However, that is a little tricky.

> I'll give those other tools a go over and what results I get.
> 
> But don't discount Valgrind for other uses.

Oh, I did not intend to...

> I realize now that my cache
> miss rate is less than 1% but it's still helping me find bottlenecks and
> problems.

... often it is completely enough to get exact behavior of the call
relationship tgether with a rough estimation of time.
Pure sampling as done by "perf record" never can provide exact call counts, and
will miss a lot of calls, ie. "perf record -g" often will give you
isolated parts of the call graph. This partly is because of sampling,
but partly also because of inability to do stack backtraces in some situations.

Best is to use both worlds: for a given deterministic execution, run callgrind
to get the full call graph, and then again with perf for the cost, load both
together into KCachegrind (once it can cope with perf data), and only look at
real cost events.

> Do you have a URL for the "trace" tool? You can imagine searching for
> that word isn't getting me very far. ;)

That is bleeding edge:
 http://lkml.org/lkml/2010/11/16/466

Josef

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today
http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to