HCOLL-217 Add Deflator compression for JDK Serialized values.

This commit is contained in:
Peter Lawrey
2014-11-26 08:24:02 +02:00
parent ccf42248a1
commit d1f083d6e7
2 changed files with 18 additions and 12 deletions
@@ -20,10 +20,7 @@ package net.openhft.chronicle.map;
import net.openhft.lang.Jvm;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringWriter;
import java.io.*;
import java.util.Arrays;
/**
@@ -35,14 +32,16 @@ import java.util.Arrays;
public class OSResizesMain {
public static void main(String[] args) throws IOException, InterruptedException {
File file = File.createTempFile("over-sized", "deleteme");
ChronicleMap<String, String> map = ChronicleMapBuilder.of(String.class, String.class)
int valueSize = 1000 * 1000;
ChronicleMap<String, ByteArray> map = ChronicleMapBuilder.of(String.class, ByteArray.class)
.entrySize(50 * 1024 * 1024)
.entries(1000 * 1000)
.valueSize(valueSize + 16)
.createPersistedTo(file);
for (int i = 0; i < 10000; i++) {
char[] chars = new char[i];
Arrays.fill(chars, '+');
map.put("key-" + i, new String(chars));
byte[] chars = new byte[valueSize];
Arrays.fill(chars, (byte) '+');
ByteArray ba = new ByteArray(chars);
for (int i = 0; i < 1000; i++) {
map.put("key-" + i, ba);
}
long start = System.currentTimeMillis();
System.gc();
@@ -77,3 +76,11 @@ public class OSResizesMain {
return sw.toString();
}
}
class ByteArray implements Serializable {
final byte[] bytes;
ByteArray(byte[] bytes) {
this.bytes = bytes;
}
}