hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From st...@apache.org
Subject hbase git commit: HBASE-15569 Make Bytes.toStringBinary faster
Date Fri, 01 Apr 2016 04:27:20 GMT
Repository: hbase
Updated Branches:
  refs/heads/branch-1 b7df66f1a -> c8190d7e2


HBASE-15569 Make Bytes.toStringBinary faster

Signed-off-by: stack <stack@apache.org>


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

Branch: refs/heads/branch-1
Commit: c8190d7e2e112b1a061c7e0e32b11841aa30101f
Parents: b7df66f
Author: Junegunn Choi <junegunn.c@gmail.com>
Authored: Thu Mar 31 13:20:26 2016 +0900
Committer: stack <stack@apache.org>
Committed: Thu Mar 31 21:27:11 2016 -0700

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hbase/util/Bytes.java     | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/c8190d7e/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java
index 52150c0..822da6a 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Bytes.java
@@ -367,7 +367,7 @@ public class Bytes {
                                 final byte [] b2) {
     return toString(b1, 0, b1.length) + sep + toString(b2, 0, b2.length);
   }
-  
+
   /**
    * This method will convert utf8 encoded bytes into a string. If the given byte array is
null,
    * this method will return null.
@@ -438,6 +438,10 @@ public class Bytes {
     return toStringBinary(toBytes(buf));
   }
 
+  private static final char[] HEX_CHARS_UPPER = {
+    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
+  };
+
   /**
    * Write a printable representation of a byte array. Non-printable
    * characters are hex escaped in the format \\x%02X, eg:
@@ -455,13 +459,12 @@ public class Bytes {
     if (off + len > b.length) len = b.length - off;
     for (int i = off; i < off + len ; ++i ) {
       int ch = b[i] & 0xFF;
-      if ((ch >= '0' && ch <= '9')
-          || (ch >= 'A' && ch <= 'Z')
-          || (ch >= 'a' && ch <= 'z')
-          || " `~!@#$%^&*()-_=+[]{}|;:'\",.<>/?".indexOf(ch) >= 0 ) {
+      if (ch >= ' ' && ch <= '~' && ch != '\\') {
         result.append((char)ch);
       } else {
-        result.append(String.format("\\x%02X", ch));
+        result.append("\\x");
+        result.append(HEX_CHARS_UPPER[ch / 0x10]);
+        result.append(HEX_CHARS_UPPER[ch % 0x10]);
       }
     }
     return result.toString();


Mime
View raw message