[ https://issues.apache.org/jira/browse/PROTON-1687?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Justin Ross resolved PROTON-1687. --------------------------------- Resolution: Fixed > 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: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org