[
https://issues.apache.org/jira/browse/PROTON-1687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16284191#comment-16284191
]
ASF subversion and git services commented on PROTON-1687:
---------------------------------------------------------
Commit 85755ac4bde591a02953d080a36a23af80287be8 in qpid-proton's branch
refs/heads/master from [~astitcher]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=85755ac ]
PROTON-1687: consolidate transport buffers in transport
- Use pn_buffer_t for transport output buffer.
> Improve efficiency of the transport output buffer
> -------------------------------------------------
>
> Key: PROTON-1687
> URL: https://issues.apache.org/jira/browse/PROTON-1687
> Project: Qpid Proton
> Issue Type: Improvement
> Components: proton-c
> Affects Versions: proton-c-0.18.0
> Reporter: Ted Ross
> Assignee: Andrew Stitcher
> Labels: perf
> Fix For: proton-c-0.19.0
>
>
> As the size of the transport output buffer grows due to production of
> deliveries sent through pn_link_send, the amount of time that the CPU spends
> in memmove becomes a problem.
> It appears (dispatcher.c - pn_dispatcher_output) that whenever a block of
> data is removed from the buffer, the remainder of the data in the buffer is
> shifted down using memmove. If the buffer contains a large amount of data
> (100s of megabytes), the sending process may spend several minutes doing
> almost nothing but running memmove.
> Some data:
> (credit window of 250, unlimited session window, 1 MB payload)
> - 10 messages, .251 sec, 40 deliveries/sec
> - 20 messages, 1.267s, 16 dlv/s
> - 40 messages, 6s, 7 dlv/s
> - 80 messages, 28s, 3 dlv/s
> - 160 messages, 138s, ~1 dlv/s
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]