hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matteo Bertozzi (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-13578) Remove Arrays.asList().subList() from FSHLog.offer()
Date Tue, 28 Apr 2015 10:32:06 GMT
Matteo Bertozzi created HBASE-13578:

             Summary: Remove Arrays.asList().subList() from FSHLog.offer()
                 Key: HBASE-13578
                 URL: https://issues.apache.org/jira/browse/HBASE-13578
             Project: HBase
          Issue Type: Improvement
          Components: wal
    Affects Versions: 1.0.0, 2.0.0, 1.1.0
            Reporter: Matteo Bertozzi
            Assignee: Matteo Bertozzi
            Priority: Trivial
         Attachments: ArrayTest.java, HBASE-13578-v0.patch

while doing a run with a profiler I noticed this:
void offer(final long sequence, final SyncFuture [] syncFutures, final int syncFutureCount)
  this.syncFutures.addAll(Arrays.asList(syncFutures).subList(0, syncFutureCount));
it is creating an Arrays.ArrayList then a RandomAccessSubList, 
and then addAll() is using creating an iterator and call the syncFutures.add() for each item.

a simpler for loop adding the items directly is not too ugly and it will avoid all this stuff.
I've attached a simple test to compare the two, it will not make huge difference but since
we are in the core patch any tiny bit probably helps.

This message was sent by Atlassian JIRA

View raw message