This is an automated email from the ASF dual-hosted git repository. inigoiri pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push: new 827e192 HADOOP-17901. Performance degradation in Text.append() after HADOOP-1… (#3411) 827e192 is described below commit 827e19271a8808f1ebdc3f442899d3a70b93505e Author: pbacsko <pbac...@cloudera.com> AuthorDate: Sat Sep 11 01:01:37 2021 +0200 HADOOP-17901. Performance degradation in Text.append() after HADOOP-1… (#3411) --- .../hadoop-common/src/main/java/org/apache/hadoop/io/Text.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/Text.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/Text.java index 4915100..f39b1b7 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/Text.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/Text.java @@ -268,8 +268,7 @@ public class Text extends BinaryComparable */ public void append(byte[] utf8, int start, int len) { byte[] original = bytes; - int capacity = Math.max(length + len, length + (length >> 1)); - if (ensureCapacity(capacity)) { + if (ensureCapacity(length + len)) { System.arraycopy(original, 0, bytes, 0, length); } System.arraycopy(utf8, start, bytes, length, len); @@ -302,7 +301,10 @@ public class Text extends BinaryComparable */ private boolean ensureCapacity(final int capacity) { if (bytes.length < capacity) { - bytes = new byte[capacity]; + // Try to expand the backing array by the factor of 1.5x + // (by taking the current size + diving it by half) + int targetSize = Math.max(capacity, bytes.length + (bytes.length >> 1)); + bytes = new byte[targetSize]; return true; } return false; --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org