[ 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