int cnt = 800000;
{
ObjectMapper mapper = new ObjectMapper();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
List<String> strList = new ArrayList<String>(cnt);
for (int i = 0; i < cnt; i++) {
strList.add("01234567");
}
System.gc();
Thread.sleep(3000);
long start = System.currentTimeMillis();
mapper.writeValue(outputStream, strList);
System.out.println("Jackson(Serialize, String): " + (System.currentTimeMillis() - start) + "ms");
System.gc();
Thread.sleep(3000);
start = System.currentTimeMillis();
mapper.readValue(outputStream.toByteArray(), new TypeReference<List<String>>() {});
System.out.println("Jackson(Deserialize, String): " + (System.currentTimeMillis() - start) + "ms");
}
{
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
MessagePacker packer = org.msgpack.core.MessagePack.newDefaultPacker(outputStream);
System.gc();
Thread.sleep(3000);
long start = System.currentTimeMillis();
for (int i = 0; i < cnt; i++) {
packer.packString("01234567");
}
packer.flush();
System.out.println("MessagePack(Serialize, String): " + (System.currentTimeMillis() - start) + "ms");
MessageUnpacker unpacker = org.msgpack.core.MessagePack.newDefaultUnpacker(outputStream.toByteArray());
System.gc();
Thread.sleep(3000);
start = System.currentTimeMillis();
for (int i = 0; i < cnt; i++) {
unpacker.unpackString();
}
System.out.println("MessagePack(Deserialize, String): " + (System.currentTimeMillis() - start) + "ms");
}
int cnt = 1000000;
Jackson(Serialize, String): 71ms
Jackson(Deserialize, String): 60ms
MessagePack(Serialize, String): 96ms
MessagePack(Deserialize, String): 82ms
int cnt = 1000000;
Jackson(Serialize, String): 103ms
Jackson(Deserialize, String): 246ms
MessagePack(Serialize, String): 192ms
MessagePack(Deserialize, String): 158ms
int cnt = 10000000;
Jackson(Serialize, String): 574ms
Jackson(Deserialize, String): 7259ms
MessagePack(Serialize, String): 1316ms
MessagePack(Deserialize, String): 1049ms