Repository: hbase
Updated Branches:
  refs/heads/master 338e39970 -> 88038cf47


HBASE-14120 ByteBufferUtils#compareTo small optimization.


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/88038cf4
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/88038cf4
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/88038cf4

Branch: refs/heads/master
Commit: 88038cf473a17a6b059902e080f1bc10d338b7c9
Parents: 338e399
Author: anoopsjohn <[email protected]>
Authored: Mon Jul 20 16:49:51 2015 +0530
Committer: anoopsjohn <[email protected]>
Committed: Mon Jul 20 16:49:51 2015 +0530

----------------------------------------------------------------------
 .../apache/hadoop/hbase/util/ByteBufferUtils.java | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/88038cf4/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ByteBufferUtils.java
----------------------------------------------------------------------
diff --git 
a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ByteBufferUtils.java 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ByteBufferUtils.java
index 1fb5991..b80b38a 100644
--- 
a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ByteBufferUtils.java
+++ 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/ByteBufferUtils.java
@@ -539,17 +539,17 @@ public final class ByteBufferUtils {
     if (UnsafeAccess.isAvailable()) {
       long offset1Adj, offset2Adj;
       Object refObj1 = null, refObj2 = null;
-      if (buf1.hasArray()) {
+      if (buf1.isDirect()) {
+        offset1Adj = o1 + ((DirectBuffer) buf1).address();
+      } else {
         offset1Adj = o1 + buf1.arrayOffset() + 
UnsafeAccess.BYTE_ARRAY_BASE_OFFSET;
         refObj1 = buf1.array();
-      } else {
-        offset1Adj = o1 + ((DirectBuffer) buf1).address();
       }
-      if (buf2.hasArray()) {
+      if (buf2.isDirect()) {
+        offset2Adj = o2 + ((DirectBuffer) buf2).address();
+      } else {
         offset2Adj = o2 + buf2.arrayOffset() + 
UnsafeAccess.BYTE_ARRAY_BASE_OFFSET;
         refObj2 = buf2.array();
-      } else {
-        offset2Adj = o2 + ((DirectBuffer) buf2).address();
       }
       return compareToUnsafe(refObj1, offset1Adj, l1, refObj2, offset2Adj, l2);
     }
@@ -569,11 +569,11 @@ public final class ByteBufferUtils {
     if (UnsafeAccess.isAvailable()) {
       long offset1Adj;
       Object refObj1 = null;
-      if (buf1.hasArray()) {
+      if (buf1.isDirect()) {
+        offset1Adj = o1 + ((DirectBuffer) buf1).address();
+      } else {
         offset1Adj = o1 + buf1.arrayOffset() + 
UnsafeAccess.BYTE_ARRAY_BASE_OFFSET;
         refObj1 = buf1.array();
-      } else {
-        offset1Adj = o1 + ((DirectBuffer) buf1).address();
       }
       return compareToUnsafe(refObj1, offset1Adj, l1, buf2, o2
           + UnsafeAccess.BYTE_ARRAY_BASE_OFFSET, l2);

Reply via email to