[
https://issues.apache.org/jira/browse/QPID-8013?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tomas Vavricka updated QPID-8013:
---------------------------------
Description:
Comparing the footprints of AMQP 1.0 protocol objects with the older protocols
shows that the 1.0 counterparts are larger. Some tuning would be beneficial.
For instance, the {{_sendingSessions}} and {{_receivingSessions}} arrays are
channel max sized, even if the client never uses that many sessions.
*Implementation*
1) ValueWriter can be optionally cached in AMQFrame. This would prevent
repeated writer lookup
2) Continuation transfers in Session_1_0 can be optimized to not call
continuationTransfer.setPayload() / continuationTransfer.dispose() . This will
prevent buffer duplication and disposal.
3) Fast-path for "body only" case in ConsumerTarget_1_0 can be added
4) Fast-path for 0 / 1 transfers in Delivery can be added
5) SectionDecoderImpl can be cached
6) MessageConverter_from_1_0 / MessageConverter_to_1_0 can be optimized to
avoid new objects creation
was:Comparing the footprints of AMQP 1.0 protocol objects with the older
protocols shows that the 1.0 counterparts are larger. Some tuning would be
beneficial. For instance, the {{_sendingSessions}} and {{_receivingSessions}}
arrays are channel max sized, even if the client never uses that many sessions.
> [Broker-J] Reduce footprint of AMQP 1.0 protocol objects
> --------------------------------------------------------
>
> Key: QPID-8013
> URL: https://issues.apache.org/jira/browse/QPID-8013
> Project: Qpid
> Issue Type: Improvement
> Components: Broker-J
> Reporter: Keith Wall
> Priority: Major
> Fix For: Future
>
>
> Comparing the footprints of AMQP 1.0 protocol objects with the older
> protocols shows that the 1.0 counterparts are larger. Some tuning would be
> beneficial. For instance, the {{_sendingSessions}} and {{_receivingSessions}}
> arrays are channel max sized, even if the client never uses that many
> sessions.
> *Implementation*
> 1) ValueWriter can be optionally cached in AMQFrame. This would prevent
> repeated writer lookup
> 2) Continuation transfers in Session_1_0 can be optimized to not call
> continuationTransfer.setPayload() / continuationTransfer.dispose() . This
> will prevent buffer duplication and disposal.
> 3) Fast-path for "body only" case in ConsumerTarget_1_0 can be added
> 4) Fast-path for 0 / 1 transfers in Delivery can be added
> 5) SectionDecoderImpl can be cached
> 6) MessageConverter_from_1_0 / MessageConverter_to_1_0 can be optimized to
> avoid new objects creation
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]