On Thu, Mar 08, 2012 at 04:39:36PM +0100, Frederic Weisbecker wrote:
> 
> I don't yet understand the point of this.
> 
> Imagine those three hists:
> 
> a -> b -> c
> a -> b -> d
> a-> e -> f
> 
> The fractal inverted mode (-G) will report this:
> 
> a--
>   |
>   ----- b
>   |     |
>   |     -----c
>   |     |
>   |     -----d
>   |
>   ----- e
>         |
>         -----f
> 

Please see the test program attached. It has only two paths from main()
to c(). But for this discussion, imagine a callgraph with 10 different
paths.

With -G, c() appears 10 times in the callgraph and the user is required
to manually sum up the samples to realize that the callgraph under c()
is very expensive.

With -s inclusive, c() will show up at the very top after main().

 -Arun

#include <stdio.h>

int sum = 0;

#define LOOP(n)                                         \
        {                                               \
                int j;                                  \
                for (j = 0; j < 10000; j++) {           \
                        sum += j;                       \
                }                                       \
        }

int f()
{
        LOOP(100);
}

int d()
{
        LOOP(100);
        f();
}

int e()
{
        LOOP(100);
        f();
}

int c()
{
        LOOP(100);
        d();
        LOOP(100);
        e();
}

int b() 
{
        LOOP(70);
        c();
}

int a() 
{
        LOOP(30);
        c();
}

int main()
{
        int i;
        for (i = 0; i < 10000; i++) {
                a();
                b();
        }
}

--
To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to