[ 
https://issues.apache.org/jira/browse/HBASE-5958?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13270685#comment-13270685
 ] 

Todd Lipcon commented on HBASE-5958:
------------------------------------

In my mind the two possible solutions are :
1) use protostuff
2) use my earlier idea of a "data dictionary" at the front of our RPC requests. 
Essentially, we'd change the RPC request/response mechanism so that before each 
message (or perhaps after), we send a list of KeyValues (or byte strings). Then 
in the actual Put/Result/whatever protos, we just use vint32s to refer back to 
the dictionary. That would allow us to manually send out the KeyValues using a 
CodedOutputStream rather than having to build a full protobuf which includes 
them, if that makes sense.
                
> Replace ByteString.copyFrom with new ByteString()
> -------------------------------------------------
>
>                 Key: HBASE-5958
>                 URL: https://issues.apache.org/jira/browse/HBASE-5958
>             Project: HBase
>          Issue Type: Improvement
>          Components: performance
>    Affects Versions: 0.96.0
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>
> ByteString.copyFrom makes a copy of a byte array in case it is changed in 
> other thread.
> In most case, we don't need to worry about that.  We should avoid copying the 
> bytes
> for performance issue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to