Repository: commons-compress Updated Branches: refs/heads/master 1a40c3b89 -> eec6f0b58
small optimization Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/commit/eec6f0b5 Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/tree/eec6f0b5 Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/diff/eec6f0b5 Branch: refs/heads/master Commit: eec6f0b58660515641e8eb0efab1a8cf77d3cdea Parents: 1a40c3b Author: Stefan Bodewig <bode...@apache.org> Authored: Sun Jan 22 11:21:58 2017 +0100 Committer: Stefan Bodewig <bode...@apache.org> Committed: Sun Jan 22 11:21:58 2017 +0100 ---------------------------------------------------------------------- .../compressors/lz4/BlockLZ4CompressorOutputStream.java | 7 ++----- .../lz77support/AbstractLZ77CompressorInputStream.java | 6 +++--- 2 files changed, 5 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-compress/blob/eec6f0b5/src/main/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStream.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStream.java b/src/main/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStream.java index c844b24..c6e7f74 100644 --- a/src/main/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStream.java +++ b/src/main/java/org/apache/commons/compress/compressors/lz4/BlockLZ4CompressorOutputStream.java @@ -202,8 +202,8 @@ public class BlockLZ4CompressorOutputStream extends CompressorOutputStream { if (offset == 1) { // surprisingly common special case byte[] block = expandedBlocks.peekFirst(); byte b = block[block.length - 1]; - for (int i = 0; i < expanded.length; i++) { - expanded[i] = b; + if (b != 0) { // the fresh array contains 0s anyway + Arrays.fill(expanded, b); } } else { expandFromList(expanded, offset, length); @@ -236,9 +236,6 @@ public class BlockLZ4CompressorOutputStream extends CompressorOutputStream { copyOffset = writeOffset + offsetRemaining; copyLen = Math.min(lengthRemaining, writeOffset + offsetRemaining); } - if (copyLen < 1) { - throw new IllegalStateException("zero copy"); - } System.arraycopy(block, copyOffset, expanded, writeOffset, copyLen); offsetRemaining -= copyLen; lengthRemaining -= copyLen; http://git-wip-us.apache.org/repos/asf/commons-compress/blob/eec6f0b5/src/main/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStream.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStream.java b/src/main/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStream.java index 24e74c8..af438e5 100644 --- a/src/main/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStream.java +++ b/src/main/java/org/apache/commons/compress/compressors/lz77support/AbstractLZ77CompressorInputStream.java @@ -20,6 +20,7 @@ package org.apache.commons.compress.compressors.lz77support; import java.io.IOException; import java.io.InputStream; +import java.util.Arrays; import org.apache.commons.compress.compressors.CompressorInputStream; import org.apache.commons.compress.utils.ByteUtils; @@ -222,9 +223,8 @@ public abstract class AbstractLZ77CompressorInputStream extends CompressorInputS // NOP } else if (backReferenceOffset == 1) { // pretty common special case final byte last = buf[writeIndex - 1]; - for (int i = 0; i < copy; i++) { - buf[writeIndex++] = last; - } + Arrays.fill(buf, writeIndex, writeIndex + copy, last); + writeIndex += copy; } else if (copy < backReferenceOffset) { System.arraycopy(buf, writeIndex - backReferenceOffset, buf, writeIndex, copy); writeIndex += copy;