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

Andrew Stitcher updated PROTON-2501:
------------------------------------
    Description: 
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.

  was:
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.

The most complicated aspect of this and one which will be deferred somewhat is 
that of using non scalar structured data as part of AMQP frames.


> CLONE - Reduce (ultimately eliminate) all use of the pn_data_t data structure 
> in AMQP frame processing
> ------------------------------------------------------------------------------------------------------
>
>                 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]

Reply via email to