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

[email protected] commented on QPID-3875:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/4107/
-----------------------------------------------------------

Review request for qpid, Andrew Stitcher, Gordon Sim, and Ted Ross.


Summary
-------

For each message received or sent, the broker needs to increment at least 4 
statistic counters - # of received/send messages, and # of received/sent bytes. 
 For each counter accessed, a call to thread-local storage is made.  This patch 
reduces the number of calls to thread local storage by allowing direct access 
to the full complement of per thread counters.

On my cpu-challenged laptop, this resulted in a minor speedup in msgs/sec 
across a shared queue (2 senders, 1 receiver):

TRUNK
msg/sec
Sender1  :  Sender2  :  Receiver
25825    :  25359    :  43805
25251    :  25159    :  43379
24564    :  24211    :  38836

PATCHED
msg/sec
Sender1  :  Sender2  :  Receiver
26015    :  25849    :  44473
26197    :  25765    :  44291
25826    :  25476    :  43904


This addresses bug qpid-3875.
    https://issues.apache.org/jira/browse/qpid-3875


Diffs
-----

  /trunk/qpid/cpp/src/qpid/broker/Exchange.cpp 1295123 
  /trunk/qpid/cpp/src/qpid/broker/Queue.h 1295123 
  /trunk/qpid/cpp/src/qpid/broker/Queue.cpp 1295123 
  /trunk/qpid/cpp/managementgen/qmfgen/templates/Class.h 1295123 
  /trunk/qpid/cpp/src/qpid/broker/Connection.cpp 1295123 

Diff: https://reviews.apache.org/r/4107/diff


Testing
-------

make check


Thanks,

Kenneth


                
> Reduce processing overhead when updating multiple statistic counters
> --------------------------------------------------------------------
>
>                 Key: QPID-3875
>                 URL: https://issues.apache.org/jira/browse/QPID-3875
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.16
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Trivial
>             Fix For: Future
>
>         Attachments: CG-statspatch.tgz
>
>
> While running cachegrind analysis of a simple traffic flow across the broker, 
> I noticed that fetching the per-thread statistics had an overall instruction 
> cost that is surprisingly long.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to