Re: [PATCH v2 2/3] perf annotate: Introduce the new source code view

From: Namhyung Kim
Date: Wed Mar 01 2017 - 10:05:58 EST


On Wed, Mar 01, 2017 at 03:30:11PM +0100, Peter Zijlstra wrote:
> On Wed, Mar 01, 2017 at 11:21:33PM +0900, Namhyung Kim wrote:
>
> > > What's the point of source-only? You can't even see what it is that is
> > > expensive.
> >
> > ???
>
> From a line like:
>
> a = b ? ptr->c : 0;
>
> How do you tell what it is that causes the problem, the branch miss or
> the pointer deref?

I can't. But I think it's a problem of granularity. If someone wants
to see the cause, he/she will need to dig into the asm. But before
that, looking at the source level can give a hint or clue for the
problem IMHO.

>
> Typically looking at the asm this is fairly clear; even without
> recording with more specific events.

But I think there're many developers don't see asm code at least
usually. And even for someone who is familiar with the asm, it's
easier to see the source code to try to identify the problem IMHO.


>
> > This is to show source code + overhead (for each line). People can
> > see which line of their source is expensive. I think it's way more
> > intuitive for most developers..
>
> And how pray are you going to write better code if you have no clue what
> the problem is?
>
> I'm really wondering how you can even think about performance if you're
> scared of asm.

I'm not saying I'm scared of asm. :)

For extreme performance, we need to see the asm. But I guess
sometimes it's enough to see it in the source level.

It's a kind of user experience issue. We provide the asm-only and
asm+source annotation, and I think it'd be nice to add source-only
option. And I remember that it was requested some time ago..

Thanks,
Namhyung