From 42811282090a62e87fdadcef0985153b3866d751 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Thu, 30 Jun 2011 13:12:42 +0900 Subject: [PATCH] Add rawWrite and rawRead API to the SnappyOutputStream and SnappyInputStream to support primitive array compression/decompression --- src/main/java/org/xerial/snappy/Snappy.java | 19 ++++++ .../org/xerial/snappy/SnappyInputStream.java | 28 ++++++++- .../java/org/xerial/snappy/SnappyNative.cpp | 19 ++++++ .../java/org/xerial/snappy/SnappyNative.h | 8 +++ .../java/org/xerial/snappy/SnappyNative.java | 2 + .../org/xerial/snappy/SnappyNativeAPI.java | 2 + .../org/xerial/snappy/SnappyOutputStream.java | 58 +++++++++++++++--- .../native/Windows/amd64/snappyjava.dll | Bin 645120 -> 645632 bytes .../snappy/native/Windows/x86/snappyjava.dll | Bin 598528 -> 600064 bytes .../xerial/snappy/SnappyOutputStreamTest.java | 22 +++++++ 10 files changed, 148 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/xerial/snappy/Snappy.java b/src/main/java/org/xerial/snappy/Snappy.java index adee9b0..54a8d76 100755 --- a/src/main/java/org/xerial/snappy/Snappy.java +++ b/src/main/java/org/xerial/snappy/Snappy.java @@ -42,6 +42,25 @@ public class Snappy impl = SnappyLoader.load(); } + /** + * Copy bytes from source to destination + * + * @param src + * pointer to the source array + * @param offset + * byte offset in the source array + * @param byteLength + * the number of bytes to copy + * @param dest + * pointer to the destination array + * @param dest_offset + * byte offset in the destination array + * @throws IOException + */ + static void arrayCopy(Object src, int offset, int byteLength, Object dest, int dest_offset) throws IOException { + impl.arrayCopy(src, offset, byteLength, dest, dest_offset); + } + /** * High-level API for compressing the input byte array. This method performs * array copy to generate the result. If you want to reduce the memory copy diff --git a/src/main/java/org/xerial/snappy/SnappyInputStream.java b/src/main/java/org/xerial/snappy/SnappyInputStream.java index 04ca9d4..0099188 100755 --- a/src/main/java/org/xerial/snappy/SnappyInputStream.java +++ b/src/main/java/org/xerial/snappy/SnappyInputStream.java @@ -105,8 +105,12 @@ public class SnappyInputStream extends InputStream @Override public int read(byte[] b, int off, int len) throws IOException { + return rawRead(b, off, len); + } + + public int rawRead(Object array, int byteOffset, int byteLength) throws IOException { int writtenBytes = 0; - for (; writtenBytes < len;) { + for (; writtenBytes < byteLength;) { if (uncompressedCursor >= uncompressedLimit) { if (hasNextChunk()) continue; @@ -114,8 +118,8 @@ public class SnappyInputStream extends InputStream return writtenBytes == 0 ? -1 : writtenBytes; } } - int bytesToWrite = Math.min(uncompressedLimit - uncompressedCursor, len - writtenBytes); - System.arraycopy(uncompressed, uncompressedCursor, b, off + writtenBytes, bytesToWrite); + int bytesToWrite = Math.min(uncompressedLimit - uncompressedCursor, byteLength - writtenBytes); + Snappy.arrayCopy(uncompressed, uncompressedCursor, bytesToWrite, array, byteOffset + writtenBytes); writtenBytes += bytesToWrite; uncompressedCursor += bytesToWrite; } @@ -123,6 +127,24 @@ public class SnappyInputStream extends InputStream return writtenBytes; } + /** + * @param d + * input + * @param off + * offset + * @param len + * the number of long elements to read + * @return written bytes + * @throws IOException + */ + public int read(long[] d, int off, int len) throws IOException { + return rawRead(d, off * 8, len * 8); + } + + public int read(long[] d) throws IOException { + return read(d, 0, d.length); + } + protected boolean hasNextChunk() throws IOException { if (finishedReading) return false; diff --git a/src/main/java/org/xerial/snappy/SnappyNative.cpp b/src/main/java/org/xerial/snappy/SnappyNative.cpp index 78158ba..53452a0 100755 --- a/src/main/java/org/xerial/snappy/SnappyNative.cpp +++ b/src/main/java/org/xerial/snappy/SnappyNative.cpp @@ -14,6 +14,7 @@ * limitations under the License. *--------------------------------------------------------------------------*/ #include +#include #include #include "SnappyNative.h" @@ -216,3 +217,21 @@ JNIEXPORT jboolean JNICALL Java_org_xerial_snappy_SnappyNative_isValidCompressed return ret; } +JNIEXPORT void JNICALL Java_org_xerial_snappy_SnappyNative_arrayCopy + (JNIEnv * env, jobject self, jobject input, jint offset, jint length, jobject output, jint output_offset) +{ + char* src = (char*) env->GetPrimitiveArrayCritical((jarray) input, 0); + char* dest = (char*) env->GetPrimitiveArrayCritical((jarray) output, 0); + if(src == 0 || dest == 0) { + // out of memory + throw_exception(env, self, 4); + return; + } + + memcpy(dest+output_offset, src+offset, (size_t) length); + + env->ReleasePrimitiveArrayCritical((jarray) input, src, 0); + env->ReleasePrimitiveArrayCritical((jarray) output, dest, 0); +} + + diff --git a/src/main/java/org/xerial/snappy/SnappyNative.h b/src/main/java/org/xerial/snappy/SnappyNative.h index 4ae4fda..53c91c2 100755 --- a/src/main/java/org/xerial/snappy/SnappyNative.h +++ b/src/main/java/org/xerial/snappy/SnappyNative.h @@ -87,6 +87,14 @@ JNIEXPORT jboolean JNICALL Java_org_xerial_snappy_SnappyNative_isValidCompressed JNIEXPORT jboolean JNICALL Java_org_xerial_snappy_SnappyNative_isValidCompressedBuffer__Ljava_lang_Object_2II (JNIEnv *, jobject, jobject, jint, jint); +/* + * Class: org_xerial_snappy_SnappyNative + * Method: arrayCopy + * Signature: (Ljava/lang/Object;IILjava/lang/Object;I)V + */ +JNIEXPORT void JNICALL Java_org_xerial_snappy_SnappyNative_arrayCopy + (JNIEnv *, jobject, jobject, jint, jint, jobject, jint); + #ifdef __cplusplus } #endif diff --git a/src/main/java/org/xerial/snappy/SnappyNative.java b/src/main/java/org/xerial/snappy/SnappyNative.java index 2eda87a..eea41f4 100755 --- a/src/main/java/org/xerial/snappy/SnappyNative.java +++ b/src/main/java/org/xerial/snappy/SnappyNative.java @@ -68,6 +68,8 @@ public class SnappyNative implements SnappyNativeAPI public native boolean isValidCompressedBuffer(Object input, int offset, int len) throws IOException; + public native void arrayCopy(Object src, int offset, int byteLength, Object dest, int dOffset) throws IOException; + public void throw_error(int errorCode) throws IOException { throw new IOException(String.format("%s(%d)", SnappyErrorCode.getErrorMessage(errorCode), errorCode)); } diff --git a/src/main/java/org/xerial/snappy/SnappyNativeAPI.java b/src/main/java/org/xerial/snappy/SnappyNativeAPI.java index 5726e63..50881b4 100755 --- a/src/main/java/org/xerial/snappy/SnappyNativeAPI.java +++ b/src/main/java/org/xerial/snappy/SnappyNativeAPI.java @@ -66,6 +66,8 @@ public interface SnappyNativeAPI public boolean isValidCompressedBuffer(Object input, int offset, int len) throws IOException; + public void arrayCopy(Object src, int offset, int byteLength, Object dest, int dOffset) throws IOException; + public void throw_error(int errorCode) throws IOException; } diff --git a/src/main/java/org/xerial/snappy/SnappyOutputStream.java b/src/main/java/org/xerial/snappy/SnappyOutputStream.java index 63407cf..c93863f 100755 --- a/src/main/java/org/xerial/snappy/SnappyOutputStream.java +++ b/src/main/java/org/xerial/snappy/SnappyOutputStream.java @@ -34,8 +34,13 @@ import java.io.OutputStream; * The input data is blocked into 32kb size (in default), and each block is * compressed and then passed to the given {@link OutputStream}. * - * The output data format is a sequence of (compressed data size, compressed - * data...) pair. + * The output data format is: + *
    + *
  1. snappy codec header defined in {@link SnappyCodec} + *
  2. a pair of (compressed data size, compressed data...) + *
  3. a pair of (compressed data size, compressed data...) + *
  4. ... + *
* * Note that the compressed data created by {@link SnappyOutputStream} cannot be * uncompressed by {@link Snappy#uncompress(byte[])} since the output formats of @@ -74,10 +79,49 @@ public class SnappyOutputStream extends OutputStream @Override public void write(byte[] b, int off, int len) throws IOException { + rawWrite(b, off, len); + } - for (int readBytes = 0; readBytes < len;) { - int copyLen = Math.min(uncompressed.length - cursor, len - readBytes); - System.arraycopy(b, off + readBytes, uncompressed, cursor, copyLen); + /** + * Compress the input long array data + * + * @param d + * input array + * @param off + * offset in the array + * @param len + * the number of elements in the array to copy + * @throws IOException + */ + public void write(long[] d, int off, int len) throws IOException { + rawWrite(d, off * 8, len * 8); + } + + public void write(float[] f, int off, int len) throws IOException { + rawWrite(f, off * 4, len * 4); + } + + public void write(long[] d) throws IOException { + write(d, 0, d.length); + } + + public void write(float[] f) throws IOException { + write(f, 0, f.length); + } + + /** + * Compress the raw byte array data. + * + * @param array + * array data of any type (e.g., byte[], float[], long[], ...) + * @param byteOffset + * @param byteLength + * @throws IOException + */ + public void rawWrite(Object array, int byteOffset, int byteLength) throws IOException { + for (int readBytes = 0; readBytes < byteLength;) { + int copyLen = Math.min(uncompressed.length - cursor, byteLength - readBytes); + Snappy.arrayCopy(array, byteOffset + readBytes, copyLen, uncompressed, cursor); readBytes += copyLen; cursor += copyLen; @@ -101,14 +145,14 @@ public class SnappyOutputStream extends OutputStream out.flush(); } - public static void writeInt(OutputStream out, int value) throws IOException { + static void writeInt(OutputStream out, int value) throws IOException { out.write((value >> 24) & 0xFF); out.write((value >> 16) & 0xFF); out.write((value >> 8) & 0xFF); out.write((value >> 0) & 0xFF); } - public static int readInt(byte[] buffer, int pos) { + static int readInt(byte[] buffer, int pos) { int b1 = (buffer[pos] & 0xFF) << 24; int b2 = (buffer[pos + 1] & 0xFF) << 16; int b3 = (buffer[pos + 2] & 0xFF) << 8; diff --git a/src/main/resources/org/xerial/snappy/native/Windows/amd64/snappyjava.dll b/src/main/resources/org/xerial/snappy/native/Windows/amd64/snappyjava.dll index 7ca46eea95a2505e80029fc2fdc30eb2aad75795..8244c39d594b4970531d6e318c18fea38fa0aec3 100755 GIT binary patch delta 49741 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 diff --git a/src/main/resources/org/xerial/snappy/native/Windows/x86/snappyjava.dll b/src/main/resources/org/xerial/snappy/native/Windows/x86/snappyjava.dll index 7f3ba9bf986ff720145e7aa7cf5608be28ea6694..2ca759e753203067ae5bf8134c976bad16a64fad 100755 GIT binary patch delta 46849 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 Sue(VG*^=M(l3Tpj>M8nn` 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 IEfQk>2jtE9@c;k- diff --git a/src/test/java/org/xerial/snappy/SnappyOutputStreamTest.java b/src/test/java/org/xerial/snappy/SnappyOutputStreamTest.java index b2531c5..1d9ac85 100755 --- a/src/test/java/org/xerial/snappy/SnappyOutputStreamTest.java +++ b/src/test/java/org/xerial/snappy/SnappyOutputStreamTest.java @@ -95,4 +95,26 @@ public class SnappyOutputStreamTest is.close(); } + @Test + public void longArrayCompress() throws Exception { + long[] l = new long[10]; + for (int i = 0; i < l.length; ++i) { + l[i] = i % 3 + i * 11; + } + + ByteArrayOutputStream b = new ByteArrayOutputStream(); + SnappyOutputStream os = new SnappyOutputStream(b); + + os.write(l); + os.close(); + SnappyInputStream is = new SnappyInputStream(new ByteArrayInputStream(b.toByteArray())); + long[] l2 = new long[10]; + int readBytes = is.read(l2); + is.close(); + + assertEquals(10 * 8, readBytes); + assertArrayEquals(l, l2); + + } + }