Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Hello,

On 6 June 2011 23:29, Michael Meeks <michael.meeks@novell.com> wrote:
If we would like to 'hide' just func1 there is no way to include its
cost into main because it's calling func2, which is not hidden.

       True - then again, we could make func1 of zero cost - pushing all its
self cycles up into its caller (?) so it still exists in the call tree,
but with an apparently instant effect ? ;-)

Unfortunately not. When we call func1 from main, we don't know how
much of the inclusive cost is from func1 and how much from other lower
functions func1 is calling (in this case func2) so we don't know how
much to add to main.
We can just add all the inclusive cost to main.

We could add all its inclusive cost to main but that would be
what we want? Maybe yes, if we want to hide objects (libraries)
that are calling just themselves and hidden objects.
And that's probably the case. Is it?

       So - I guess the problem is then when functions call themselves,
perhaps some recursive 'qsort' caller when glibc is hidden ( or whatever
similar madness ;-).

The main problem is when hidden function calls visible one.

And do we want also loose information about calling such function?
Like it was just jump into another place or something like that and
still the same function?

       Not sure :-) I guess we prolly want to build (or re-use) some simple
test code - does kcachegrind have a couple of test libraries that it can
be used to profile ?

I'm afraid there aren't any. I tried to find something but unsuccessfully.

I think I know what you want to do but I just can't see any option how to do it.
In theory it could be possible but I think it's not because of the
profile data format.

Matus

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.