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;

Reply via email to