[
https://jira.jboss.org/jira/browse/JGRP-1158?page=com.atlassian.jira.plug...
]
Bela Ban commented on JGRP-1158:
--------------------------------
If we omitted the first length field, and simply read message by message (we know when
we've reached the end of the stream), we could marshal a message
(TP.TransferQueueBundler) as soon as it has been received. This would minimize marshalling
cost. Marshalling is done by the BundlerThread inside TP.TransferQueueBundler anyway. This
way, we could change msgs from Map<Address, List<Message>> to Map<Address,
DataOutputStream> !
TP.Bundler: don't send dest and src addresses for individual
messages
---------------------------------------------------------------------
Key: JGRP-1158
URL:
https://jira.jboss.org/jira/browse/JGRP-1158
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 2.10
When sending bundled messages to a given destination, e.g. P, if we have 10 messages with
dest=P and src=S, then we marshall the message list as follows:
length=10
M1
M2
...
M10
The dest and src fields for each message is marshalled as well, and since an Address
(UUID) has ca 20 bytes, the cost for dest and src address is ca 40 bytes per message. If
we change the marshalling to this scheme:
length=10
dest=P
src=S
M1 (dest=null, src=null)
M2 (dest=null, src=null)
...
M10 (dest=null, src=null)
, we save (N-1) * 40 bytes == 360 bytes for the 10 messages !
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira