qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiraposter@reviews.apache.org (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-3875) Reduce processing overhead when updating multiple statistic counters
Date Wed, 29 Feb 2012 19:19:58 GMT

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

jiraposter@reviews.apache.org commented on QPID-3875:
-----------------------------------------------------


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

Ship it!


I don't love this because it bypasses the "api" for management objects.  But... I can't think
of anything better.  And because we're implementing and instrumenting a fast-path, it is in
some cases appropriate to design a "layer-violation" such as this for the sake of performance.

- Ted


On 2012-02-29 18:42:59, Kenneth Giusti wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/4107/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2012-02-29 18:42:59)
bq.  
bq.  
bq.  Review request for qpid, Andrew Stitcher, Gordon Sim, and Ted Ross.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  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.
bq.  
bq.  On my cpu-challenged laptop, this resulted in a minor speedup in msgs/sec across a shared
queue (2 senders, 1 receiver):
bq.  
bq.  TRUNK
bq.  msg/sec
bq.  Sender1  :  Sender2  :  Receiver
bq.  25825    :  25359    :  43805
bq.  25251    :  25159    :  43379
bq.  24564    :  24211    :  38836
bq.  
bq.  PATCHED
bq.  msg/sec
bq.  Sender1  :  Sender2  :  Receiver
bq.  26015    :  25849    :  44473
bq.  26197    :  25765    :  44291
bq.  25826    :  25476    :  43904
bq.  
bq.  
bq.  This addresses bug qpid-3875.
bq.      https://issues.apache.org/jira/browse/qpid-3875
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    /trunk/qpid/cpp/src/qpid/broker/Exchange.cpp 1295123 
bq.    /trunk/qpid/cpp/src/qpid/broker/Queue.h 1295123 
bq.    /trunk/qpid/cpp/src/qpid/broker/Queue.cpp 1295123 
bq.    /trunk/qpid/cpp/managementgen/qmfgen/templates/Class.h 1295123 
bq.    /trunk/qpid/cpp/src/qpid/broker/Connection.cpp 1295123 
bq.  
bq.  Diff: https://reviews.apache.org/r/4107/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  make check
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Kenneth
bq.  
bq.


                
> 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


Mime
View raw message