Skip to content
RuedigerMoeller edited this page Mar 10, 2014 · 69 revisions

-For discussions please use the java serialization benchmarking google group.
-
-Disclamer
-
-This test focusses on en/decoding of a cyclefree data structure. Some serializers support cycle detection/object sharing, some offer both modes, some include full metadata, some don’t, some are cross platform, some are language specific, some are text based, some are binary. (See ToolBehavior)
-Other test data will yield different results. However the results give a raw estimation of library performance.
-
-
-*
-
-java version “1.7.0_51”
-Java™ SE Runtime Environment (build 1.7.0_51-b13)
-Java HotSpot™ 64-Bit Server VM (build 24.51-b03, mixed mode)
-
-SIMPLE/GENERIC:
Serializes any POJO tree without class specific optimization. Serialized classes are known in advance. No cycle detection/shared object detection is done.
-
-Checking correctness…
-[done]
-Pre-warmup… java-built-in hessian kryo fast-serialization jboss-serialization jboss-marshalling-river protostuff msgpack-databind json/jackson/databind json/jackson/db-afterburner json/protostuff-runtime json/google-gson/databind json/svenson-databind json/flexjson/databind json/fastjson/databind smile/jackson/databind smile/jackson/db-afterburner bson/jackson/databind xml/xstream+c xml/jackson/databind-aalto
-[done]
-
-pre. create ser deser total size dfl
-java-built-in 63 5838 30208 36046 889 514
-hessian 63 3881 6176 10057 501 313
-kryo 63 655 838 1493 212 132
-fast-serialization 63 704 864 1568 252 166
-jboss-serialization 63 6466 6643 13110 932 582
-jboss-marshalling-river 63 4656 23892 28548 694 400
-protostuff 82 495 732 1227 239 150
-msgpack-databind 62 830 1370 2200 233 146
-json/jackson/databind 62 1895 2600 4496 485 261
-json/jackson/db-afterburner 63 1513 1988 3501 485 261
-json/protostuff-runtime 63 1532 2138 3670 469 243
-json/google-gson/databind 63 5633 4844 10477 486 259
-json/svenson-databind 63 5270 10358 15628 495 272
-json/flexjson/databind 63 19445 25394 44838 503 273
-json/fastjson/databind 63 1316 1149 2465 486 262
-smile/jackson/databind 63 1768 1891 3659 338 241
-smile/jackson/db-afterburner 64 1448 1492 2940 352 252
-bson/jackson/databind 64 5376 6812 12188 506 286
-xml/xstream
c 64 6476 13505 19981 487 244
-xml/jackson/databind-aalto 63 3001 5516 8517 683 286
-
-

-
-java version “1.7.0_51”
-Java™ SE Runtime Environment (build 1.7.0_51-b13)
-Java HotSpot™ 64-Bit Server VM (build 24.51-b03, mixed mode)
-
-SIMPLE/GENERIC:
Serializes any POJO tree without class specific optimization. Serialized classes are known in advance. No cycle detection/shared object detection is done.
-
-Checking correctness…
-[done]
-Pre-warmup… java-built-in hessian kryo fast-serialization jboss-serialization jboss-marshalling-river protostuff msgpack-databind json/jackson/databind json/jackson/db-afterburner json/protostuff-runtime json/google-gson/databind json/svenson-databind json/flexjson/databind json/fastjson/databind smile/jackson/databind smile/jackson/db-afterburner bson/jackson/databind xml/xstream+c xml/jackson/databind-aalto
-[done]
-
-pre. create ser deser total size dfl
-java-built-in 63 5838 30208 36046 889 514
-hessian 63 3881 6176 10057 501 313
-kryo 63 655 838 1493 212 132
-fast-serialization 63 704 864 1568 252 166
-jboss-serialization 63 6466 6643 13110 932 582
-jboss-marshalling-river 63 4656 23892 28548 694 400
-protostuff 82 495 732 1227 239 150
-msgpack-databind 62 830 1370 2200 233 146
-json/jackson/databind 62 1895 2600 4496 485 261
-json/jackson/db-afterburner 63 1513 1988 3501 485 261
-json/protostuff-runtime 63 1532 2138 3670 469 243
-json/google-gson/databind 63 5633 4844 10477 486 259
-json/svenson-databind 63 5270 10358 15628 495 272
-json/flexjson/databind 63 19445 25394 44838 503 273
-json/fastjson/databind 63 1316 1149 2465 486 262
-smile/jackson/databind 63 1768 1891 3659 338 241
-smile/jackson/db-afterburner 64 1448 1492 2940 352 252
-bson/jackson/databind 64 5376 6812 12188 506 286
-xml/xstream
c 64 6476 13505 19981 487 244
-xml/jackson/databind-aalto 63 3001 5516 8517 683 286
-
-
-
-
-
-
-
-
-
-DEFAULT:
Serializes arbitrary object graphs, cycle detection enabled. Nothing is known in advance about the classes to serialize. Only serializers supporting full object graph serialization are included.
-
-Checking correctness…
-[done]
-Pre-warmup… java-built-in-serializer hessian kryo-serializer fast-serialization-shared jboss-serialization
-[done]
-
-pre. create ser deser total size dfl
-java-built-in-serializer 64 5723 29259 34982 889 514
-hessian 64 3611 6169 9780 501 313
-kryo-serializer 64 1711 1499 3210 311 198
-fast-serialization-shared 64 1621 1592 3212 341 212
-jboss-serialization 64 6442 6339 12781 932 582
-
-
%28nanos%29&chf=c||lg||0||FFFFFF||1||76A4FB||0|bg||s||EFEFEF&chs=500×130&chd=t:3210,3212,9780,12780,34982&chds=0,38480.46785&chxt=y&chxl=0:|java-built-in-serializer|jboss-serialization|hessian|fast-serialization-shared|kryo-serializer&chm=N f,000000,0,-1,10&lklk&chdlp=t&chco=660000|660033|660066|660099|6600CC|6600FF|663300|663333|663366|663399|6633CC|6633FF|666600|666633|666666&cht=bhg&chbh=10,0,10&nonsense=aaa.png’/>
-
-
-
-
-
-
-
-SIMPLE/SPECIFC: Serializes only specific classes using code generation or other special knowledge about the class.
-
-Checking correctness…
-[done]
-Pre-warmup… kryo-opt wobly wobly-compact protobuf protostuff protobuf/protostuff thrift thrift-compact avro json/json-lib-databind json/jsonij-jpath
-[done]
-
-pre. create ser deser total size dfl
-kryo-opt 64 658 864 1522 209 129
-wobly 43 886 536 1422 251 151
-wobly-compact 43 903 569 1471 225 139
-protobuf 130 1225 701 1926 239 149
-protostuff 82 488 678 1166 239 150
-protobuf/protostuff 83 598 692 1290 239 149
-thrift 126 1796 795 2591 349 197
-thrift-compact 126 1555 963 2518 240 148
-avro 89 1616 1415 3031 221 133
-json/json-lib-databind 63 26330 103150 129479 485 263
-json/jsonij-jpath 63 38015 12325 50339 478 259
-
-
%28nanos%29&chf=c||lg||0||FFFFFF||1||76A4FB||0|bg||s||EFEFEF&chs=500×250&chd=t:1166,1290,1421,1471,1522,1925,2518,2590,3031,50339,129479&chds=0,142427.0826&chxt=y&chxl=0:|json%2Fjson-lib-databind|json%2Fjsonij-jpath|avro|thrift|thrift-compact|protobuf|kryo-opt|wobly-compact|wobly|protobuf%2Fprotostuff|protostuff&chm=N f,000000,0,-1,10&lklk&chdlp=t&chco=660000|660033|660066|660099|6600CC|6600FF|663300|663333|663366|663399|6633CC|6633FF|666600|666633|666666&cht=bhg&chbh=10,0,10&nonsense=aaa.png’/>
-
-
-
-
-
-
-
-MANUAL:
Serializes only specific classes using hand written serialization code.
-
-Checking correctness…
-[done]
-Pre-warmup… java-manual kryo-manual protostuff-manual avro-generic json/jackson/manual json/protostuff-manual json/google-gson/manual json/json.simple/manual json/json-smart/manual/tree json/org.json/manual/tree json/argo-manual/tree smile/jackson/manual bson/mongodb xml/woodstox-manual xml/aalto-manual xml/xstream+c-woodstox xml/xstream+c-aalto xml/xstream+c-fastinfo xml/javolution xml/fastinfo-manual
-[done]
-
-pre. create ser deser total size dfl
-java-manual 63 847 632 1480 255 147
-kryo-manual 63 555 616 1171 211 131
-protostuff-manual 63 465 711 1176 239 150
-avro-generic 379 1822 1125 2947 221 133
-json/jackson/manual 63 1097 1539 2636 468 253
-json/protostuff-manual 63 1345 1816 3161 449 233
-json/google-gson/manual 63 3696 3756 7452 468 253
-json/json.simple/manual 63 6184 8059 14243 495 269
-json/json-smart/manual/tree 63 5314 4088 9402 495 269
-json/org.json/manual/tree 63 6989 8413 15403 485 259
-json/argo-manual/tree 63 66575 14578 81153 485 263
-smile/jackson/manual 63 939 1092 2031 341 244
-bson/mongodb 64 3422 7762 11184 495 278
-xml/woodstox-manual 63 3159 4578 7737 653 304
-xml/aalto-manual 63 2077 3093 5170 653 304
-xml/xstream
c-woodstox 63 5638 10506 16144 525 273
-xml/xstream+c-aalto 63 4893 8912 13805 525 273
-xml/xstream+c-fastinfo 63 8451 7971 16422 345 264
-xml/javolution 64 5544 8538 14082 504 263
-xml/fastinfo-manual 64 6959 5420 12379 377 284
-
-
-
-
-
-
-

Clone this wiki locally