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

Anoop Sam John commented on HBASE-16703:
----------------------------------------

Ya as long as we are within the same read op, we will reuse this byte[] to 
create key. When the cell is created, we will copy into a newly created byte[], 
of size equal to size of this cell's key.  So it is not like for every cell we 
will create byte[] of size INITIAL_BUFFER_SIZE.  But am not sure how is this in 
0.98 [~apurtell].  I believe it is not this way.  Might be good to improve 
there as well.

> Explore object pooling of SeekerState
> -------------------------------------
>
>                 Key: HBASE-16703
>                 URL: https://issues.apache.org/jira/browse/HBASE-16703
>             Project: HBase
>          Issue Type: Task
>            Reporter: Andrew Purtell
>
> In read workloads 35% of the allocation pressure produced by servicing RPC 
> requests, when block encoding is enabled, comes from 
> BufferedDataBlockEncoder$SeekerState.<init>, where we allocate two byte 
> arrays of INITIAL_KEY_BUFFER_SIZE in length. There's an opportunity for 
> object pooling of SeekerState here. Subsequent code checks if those byte 
> arrays are sized sufficiently to handle incoming data to copy. The arrays 
> will be resized if needed. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to