You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Ken Giusti (Jira)" <ji...@apache.org> on 2021/09/21 15:05:00 UTC

[jira] [Created] (DISPATCH-2251) optimize qd_compose_insert_string_iterator

Ken Giusti created DISPATCH-2251:
------------------------------------

             Summary: optimize qd_compose_insert_string_iterator
                 Key: DISPATCH-2251
                 URL: https://issues.apache.org/jira/browse/DISPATCH-2251
             Project: Qpid Dispatch
          Issue Type: Improvement
          Components: Router Node
    Affects Versions: 1.17.0
            Reporter: Ken Giusti
            Assignee: Ken Giusti
             Fix For: 1.18.0
         Attachments: qdr_perf_worker_134462_134462.svg, qdr_perf_worker_38506_38506.svg

Analysis of perf data for the receive path of a inter-router connection downstream router shows that qd_compose_insert_string_iterator calls are expensive.   This is due to the way qd_compose_insert_string_iterator copies data from the iterator: byte by byte.

Refactoring qd_compose_insert_string_iterator to use qd_iterator_copy and qd_compose_insert_string_n will leverage memmove semantics and will improve performance (see attached flamegraphs: 134462 current vs 38506 w/optimization)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org