[ 
https://issues.apache.org/jira/browse/PROTON-1687?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Ross updated PROTON-1687:
--------------------------------
    Labels: perf  (was: )

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

Reply via email to