You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "jiraposter@reviews.apache.org (Commented) (JIRA)" <ji...@apache.org> on 2012/02/29 19:43:58 UTC
[jira] [Commented] (QPID-3875) Reduce processing overhead when
updating multiple statistic counters
[ https://issues.apache.org/jira/browse/QPID-3875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13219402#comment-13219402 ]
jiraposter@reviews.apache.org 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:dev-subscribe@qpid.apache.org