Details
-
Improvement
-
Status: Closed
-
Trivial
-
Resolution: Fixed
-
1.17.0
-
None
Description
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)