[
https://issues.apache.org/jira/browse/PROTON-2501?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Stitcher updated PROTON-2501:
------------------------------------
Summary: Eliminate all use of the pn_data_t data structure in AMQP frame
processing crirical path (was: CLONE - Reduce (ultimately eliminate) all use
of the pn_data_t data structure in AMQP frame processing)
> Eliminate all use of the pn_data_t data structure in AMQP frame processing
> crirical path
> ----------------------------------------------------------------------------------------
>
> Key: PROTON-2501
> URL: https://issues.apache.org/jira/browse/PROTON-2501
> Project: Qpid Proton
> Issue Type: Improvement
> Components: proton-c
> Reporter: Andrew Stitcher
> Assignee: Andrew Stitcher
> Priority: Major
>
> In current proton protocol processing code make heavy use of the pn_data_t
> data structure for coding and decoding AMQP frames to send and receive.
> Unfortunately the data structure is complex and the code which uses it is not
> very efficient. This means that a lot of CPU is consumed maniputing these
> data structures unnecessarily during the critical path operations of proton.
> During frame processing pn_data_t is not even really necessary as it is only
> used as an intermediary to extract necessary frame parameters out of the
> frames (or as an intermediary to construct the frames from the necessary
> frame parameters.
> This means that is entirely feasible to go directly from/to the parameters
> to/from the frames without using an intermediate pn_data_t at all.
> Much (most?) of this work has now been done but there are a few aspects still
> open:
> A complicated aspect of this and one yet to complete is that of using non
> scalar structured data as part of AMQP frames, Specifically where maps are
> used as part of the frame - for instance in the various property maps.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]