I have gotten callgrind call-graph pictures of my proton/engine sender 
and receiver when the test is running fast and when it slows down.

The difference is in the sender -- when running fast, it is spending 
most of its time in the subtree of pn_connector_process() .. like 71%.

When it slows down it is instead spending 47% in pn_delivery_writeable(),
and only 17% in pn_connector_process().

Since it is still not instantly obvious to me what has happened, 
I thought I would share with you-all.

Please see cool pictures at:

To recap -- I can trigger this condition by getting the box busy while
my proton/engine test is running.  I.e. by doing a build.
Even though I stop the build, and all 6 other processors on
the box go back to being idle -- the test never recovers.

The receiver goes down to 50% CPU or worse -- but these pictures 
show that the behavior change is in the sender.

Reply via email to