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

Tsz Wo Nicholas Sze commented on HDFS-7276:
-------------------------------------------

The percentage differences are shown in the performance test
{noformat}
arrayLength=65536, nThreads=512, nAllocations=32768, maxArrays=1024
  NewByteArrayWithoutLimit: 3439,  3394,  3497,  3459,  3442, avg= 3.446s
     NewByteArrayWithLimit: 3448,  3563,  3552,  3492,  3509, avg= 3.513s (  
1.93%)
     UsingByteArrayManager: 3357,  3369,  3327,  3345,  3324, avg= 3.344s ( 
-2.95%) ( -4.79%)
{noformat}
The time elapsed for UsingByteArrayManager is 2.95% and 4.79% less than 
NewByteArrayWithoutLimit and NewByteArrayWithLimit, respectively.

> Limit the number of byte arrays used by DFSOutputStream
> -------------------------------------------------------
>
>                 Key: HDFS-7276
>                 URL: https://issues.apache.org/jira/browse/HDFS-7276
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: hdfs-client
>            Reporter: Tsz Wo Nicholas Sze
>            Assignee: Tsz Wo Nicholas Sze
>         Attachments: h7276_20141021.patch, h7276_20141022.patch, 
> h7276_20141023.patch, h7276_20141024.patch, h7276_20141027.patch, 
> h7276_20141027b.patch, h7276_20141028.patch
>
>
> When there are a lot of DFSOutputStream's writing concurrently, the number of 
> outstanding packets could be large.  The byte arrays created by those packets 
> could occupy a lot of memory.



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

Reply via email to