Hi Ceki,
Keep in mind that I still have to double check my LoggingEvent-to-protobuf converter.
Serializing the corpus with different formats:
java serialization => 16 MB (16108602)
protobuf => 33 MB (34385867 bytes)
protobuf + gzip => 9.9 MB (10354646 bytes)
protbuf + deflater => 12 MB (12006206 bytes)
speed:
java serialization: 4330 ms
protobuf 928 ms
protobuf + gzip 3146 ms
protobuf + deflater 1883 ms
So I would choose for protobuf + deflater : 25% smaller than java serilaization and twice as fast.
Deflater means using java.util.zip.Deflater.BEST_SPEED
regards,
Maarten
Hello Maarten,
It's interesting to learn that protobuf is faster than plain old java serialization. Thanks.
How about the size of the stored data? How many bytes does a logging event use on average?
Maarten Bosteels wrote:
Hi,
No objections at all.
Looking at my .proto file it's indeed pretty obvious that CallerData and StackTraceElement are quite similar :-)
http://code.google.com/p/firewood/source/browse/trunk/compare-formats/src/main/java/com/googlecode/firewood/protobuf/logging.proto
I've done some benchmarking with protobuf (using the Corpus), and it seems to be at least 4 times faster than Java serialization.
Will soon post the results and the code.
regards,
Maarten
--
Ceki Gülcü
Logback: The reliable, generic, fast and flexible logging framework for Java.
http://logback.qos.ch
_______________________________________________
logback-dev mailing list
logback-dev@qos.ch
http://qos.ch/mailman/listinfo/logback-dev