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

ASF subversion and git services commented on DISPATCH-1348:
-----------------------------------------------------------

Commit 21ee691eb0066d8061bf612f2fffa4c226ae7abb in qpid-dispatch's branch 
refs/heads/master from Ganesh Murthy
[ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=21ee691 ]

DISPATCH-1348 - Allocate qdr_error_t objects only when necessary. Previously, 
these objects were always getting created even in the absence of an error. This 
closes #515.


> Save qdr_error_t allocation if not necessary
> --------------------------------------------
>
>                 Key: DISPATCH-1348
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1348
>             Project: Qpid Dispatch
>          Issue Type: Improvement
>          Components: Routing Engine
>    Affects Versions: 1.7.0
>            Reporter: Francesco Nigro
>            Assignee: Ganesh Murthy
>            Priority: Major
>
> qdr_error_from_pn on error.c is allocating qdr_error_t on the hot path ie 
> AMQP_disposition_handler: saving those allocations would reduce CPU usage 
> (and cache misses) on both core and worker threads, making the router able to 
> scale better while under load.
> Initial tests has shown some improvements under load (ie with core CPU thread 
> ~97% with the new version and ~99% with master):
> 12 pairs master (no lock-free queues, no qdr_error_t fix): 285 K msg/sec
> 12 pairs master (no lock-free queues, yes qdr_error_t fix): 402 K msg/sec
> 12 pairs lock-free q (no qdr_error_t fix):  311 K msg/sec
> 12 pairs lock-free q (yes qdr_error_t fix):  510 K msg/sec



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to