[
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]