You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by Michael Goulish <mg...@redhat.com> on 2014/09/03 10:18:58 UTC

proton performance: OK, so I can't send you pictures.

Fabulous.

OK, I put them in my git repo:

  https://github.com/mick-goulish/proton_c_clients.git

And there, they are full-res.


sigh.



Re: proton performance: OK, so I can't send you pictures.

Posted by Alan Conway <ac...@redhat.com>.
On Wed, 2014-09-03 at 21:08 -0400, Michael Goulish wrote:
> 
> 
> 
> ----- Original Message -----
> > On Wed, 2014-09-03 at 04:18 -0400, Michael Goulish wrote:
> > > Fabulous.
> > > 
> > > OK, I put them in my git repo:
> > > 
> > >   https://github.com/mick-goulish/proton_c_clients.git
> > > 
> > > And there, they are full-res.
> > > 
> > > 
> > > sigh.
> > > 
> > > 
> > 
> > pn_data_node and pn_data_add look interesting. Might be worth inlining
> > pn_data_node if the compiler isn't doing that already (did you build
> > with -O3?) Also shaving a few instructions off pn_data_add might pay
> > off.
> > 
> > 
> > 
> 
> I just went into ccmake and told it to do a "Release" build.
> Is there any way I can turn it up to 11 ?

Release is 11, all optimizations are on including inlining. Although
astitcher sometimes claims that MinSizeRel can be faster because less
memory used means fewer cache thingies.

pn_data_add is interesting because it is taking so much CPU but doing so
little work - just a couple integer add/subtract ops. So
a) clearly it's getting called a LOT, maybe that could be reduced.
b) shaving off a little bit of work (e.g. call overhead, hence inlining
thought) is a sizable percentage of what it does, which is a sizable
percentage of the overall CPU use.

Another thought: could we make pni_nid_t a direct pointer rather than an
index and eliminate pn_data_node() entirely? That would mean doing the
indexing at the point you assign to node->parent, node->next etc. but
that might be a lot less frequent than looking it up.

Cheers,
Alan.


Re: proton performance: OK, so I can't send you pictures.

Posted by Michael Goulish <mg...@redhat.com>.



----- Original Message -----
> On Wed, 2014-09-03 at 04:18 -0400, Michael Goulish wrote:
> > Fabulous.
> > 
> > OK, I put them in my git repo:
> > 
> >   https://github.com/mick-goulish/proton_c_clients.git
> > 
> > And there, they are full-res.
> > 
> > 
> > sigh.
> > 
> > 
> 
> pn_data_node and pn_data_add look interesting. Might be worth inlining
> pn_data_node if the compiler isn't doing that already (did you build
> with -O3?) Also shaving a few instructions off pn_data_add might pay
> off.
> 
> 
> 

I just went into ccmake and told it to do a "Release" build.
Is there any way I can turn it up to 11 ?

Re: proton performance: OK, so I can't send you pictures.

Posted by Alan Conway <ac...@redhat.com>.
On Wed, 2014-09-03 at 04:18 -0400, Michael Goulish wrote:
> Fabulous.
> 
> OK, I put them in my git repo:
> 
>   https://github.com/mick-goulish/proton_c_clients.git
> 
> And there, they are full-res.
> 
> 
> sigh.
> 
> 

pn_data_node and pn_data_add look interesting. Might be worth inlining
pn_data_node if the compiler isn't doing that already (did you build
with -O3?) Also shaving a few instructions off pn_data_add might pay
off.