[ 
https://issues.apache.org/jira/browse/QPID-6255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14239568#comment-14239568
 ] 

Ken Giusti commented on QPID-6255:
----------------------------------

Well, the performance numbers don't look so great.   In general 
qpid-cpp-benchmark shows about 1-2% degradation in rx and tx performance when 
the event model is used.

I ran qpid-cpp-benchmark several times both with HAVE_PROTON_EVENTS defined and 
undefined (use the old polling method).  Using the best of N runs in each case 
I observed the event variant performing a little worse than the original polled 
approach.  For example:

 polled:

qpid-cpp-benchmark -s1 -r1 -m 1000000 --summarize 
--connection-options="{protocol:amqp1.0}"
send-tp recv-tp l-min   l-max   l-avg   total-tp
57592   54216   2.87    1196.82 631.21  54118

event:

qpid-cpp-benchmark -s1 -r1 -m 1000000 --summarize 
--connection-options="{protocol:amqp1.0}"
send-tp recv-tp l-min   l-max   l-avg   total-tp
56620   53157   2.56    1307.70 724.17  53065

send-tp = -1.688% 
recv-tp = -1.953%

The cpu utilization appears to be roughly the same, but simply eyeballing 'top' 
doesn't provide the granularity necessary to determine if the process is 
running 1-2% less frequently.  The only other conclusion I can draw is that the 
event model results in 1-2% more work per message transfer.   I'm going to run 
this under callgrind to see if that sheds more light on this.

> [amqp1.0] Migrate to the new Proton event API
> ---------------------------------------------
>
>                 Key: QPID-6255
>                 URL: https://issues.apache.org/jira/browse/QPID-6255
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.30
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>             Fix For: Future
>
>
> Proton version 0.8 introduced an event-based API.  The Qpid broker currently 
> uses the older API which requires a linear search of deliveries, links, and 
> sessions during event processing.  Migrating to the new API _should_ optimize 
> event processing, especially as the number of object instances scale.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to