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

Vladimir Rodionov commented on HBASE-15491:
-------------------------------------------

{quote}
Why we have a putBuffer() call in IPCUtil itself? Can we avoid the special 
casing? I mean handle the put back to pool in one place
So this will reduce lots of garbage and so the frequency of young GC.
{quote}

Not sure, I am following you here, [~anoop.hbase]

{quote}
 You observed the GC after this? Will it increase the avg young GC pause time?
{quote}

I observed decreased memory allocation rate by 8-10% on a client side  (after 
HBASE-15479). There is no silver bullet here in memory opt (after HBASE-15479). 
Every new improvement will get us several, max 5-7 %.  



> Reuse byte buffers in AsyncRpcClient
> ------------------------------------
>
>                 Key: HBASE-15491
>                 URL: https://issues.apache.org/jira/browse/HBASE-15491
>             Project: HBase
>          Issue Type: Improvement
>          Components: Client
>    Affects Versions: 2.0.0
>            Reporter: Vladimir Rodionov
>            Assignee: Vladimir Rodionov
>             Fix For: 2.0.0
>
>         Attachments: HBASE-15491-v1.patch
>
>
> IPCUtil.buildCellBlock is used by both server and client. Server provides 
> BoundedByteBufferPool for buffers reuse, client code does not do that. This 
> results in additional memory pressure on a client side, because buffers are 
> allocated on every call to IPCUtil.buildCellBlock.
> My own local tests (with patch) show approximately 8-10% reduction in object 
> allocation rate on a client side (with HBASE-15479 as well). 



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

Reply via email to