[jboss-jira] [JBoss JIRA] (JGRP-1772) Optimize marshalling of strings
Bela Ban (JIRA)
issues at jboss.org
Fri Feb 14 12:19:28 EST 2014
[ https://issues.jboss.org/browse/JGRP-1772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12944804#comment-12944804 ]
Bela Ban commented on JGRP-1772:
--------------------------------
Classes like TpHeader, which are used a lot, could contain a byte[] array instead of a String, containing each character of the string as a byte. This would truncate characters above 128 but would save space as String has a char[] array and a hashcode (int).
Serialization would not use writeUTF() but simply write and read the byte array.
There would have to be a getName() method which returns a string, provided just-in-time by creating a string from the byte[] array.
Perhaps we could even provide a simple compare(String) method which does a length(), then a byte-wise comparison, so we wouldn't even have to construct the temp string.
> Optimize marshalling of strings
> -------------------------------
>
> Key: JGRP-1772
> URL: https://issues.jboss.org/browse/JGRP-1772
> Project: JGroups
> Issue Type: Enhancement
> Reporter: Bela Ban
> Assignee: Bela Ban
> Fix For: 3.5
>
>
> Currently, we use DataOutput.writeUTF() for all sorts of strings. This is implemented inefficiently and potentially uses more than 1 byte per char.
> Add another method writeString() which converts double byte chars to single byte chars so that only ASCII is supported. This can be used by a lot of internal code which never uses chars above 128.
> For external code, such as {{JChannel.connect(String cluster_name)}}, we need to see whether this is ok. Since cluster names are mainly used to differentiate clusters, perhaps it is ok to mangle the names to chars below 128, although this would change cluster names which use multi-byte chars.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list