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

2014-09-04 Thread Alan Conway
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.



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

2014-09-03 Thread Michael Goulish
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.

2014-09-03 Thread Alan Conway
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.




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

2014-09-03 Thread Michael Goulish




- 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 ?