Home (original) (raw)
Test Platform
OS:Mac OS X
JVM:Oracle Corporation 11.0.19
CPU:2.6 GHz 6-Core Intel Core i7 os-arch:Darwin Kernel Version 21.6.0
Cores (incl HT):12
Disclaimer
This test focusses on en/decoding of a cyclefree data structure, but the featureset of the libraries compared differs a lot:
some serializers support cycle detection/object sharing others just write non-cyclic tree structures
some include full metadata in serialized output, some don’t
some are cross platform, some are language specific
some are text based, some are binary,
some support versioning forward/backward, both, some don’t
(See ToolBehavior)
Other test data will yield different results (e.g. adding a non ascii char to every string :-) ). However the results give a raw estimation of library performance.
Serializers (no shared refs)
Benchmarks serializers
Only cycle free tree structures. An object referenced twice will be serialized twice.
no manual optimizations.
schema is known in advance (pre registration or even class generation). (Not all might make use of that)
Ser Time+Deser Time (ns)
Size, Compressed size [light] in bytes
create ser deser total size dfl fury-fastest 59 220 222 442 278 165
fury 56 269 239 508 257 163
fury-auto-flat 53 282 264 547 293 198
colfer 65 275 357 633 241 152
json-array/dsl-json/databind 48 511 664 1175 296 187
protostuff 83 608 653 1261 242 153
fst-flat-pre 58 618 766 1384 254 168
protobuf 198 875 527 1402 242 152
kryo-registered-flat 52 740 735 1476 218 140
thrift-compact 78 840 643 1483 243 152
json/dsl-json/databind 47 565 1082 1647 488 271
msgpack/databind 51 564 1182 1746 236 150
json-array/fastjson/databind 50 921 836 1756 284 171
thrift 77 1315 626 1942 352 201
kryo-auto-flat 51 917 1044 1960 273 184
smile-col/jackson/databind 48 817 1177 1994 255 168
flatbuffers 48 1445 679 2124 424 234
cbor-col/jackson/databind 52 851 1305 2156 252 165
capnproto 49 1397 839 2236 400 210
avro-fastserde-generic 344 1321 1049 2371 224 136
avro-generic 370 1380 1050 2430 224 136
protobuf/jacksonafterburner/databind 53 1044 1403 2446 242 151
avro-specific 82 1248 1229 2477 224 136
json-col/jackson/databind 50 1049 1458 2507 296 187
cbor/jackson+afterburner/databind 48 1044 1496 2540 398 251
smile/jackson+afterburner/databind 54 1153 1409 2561 355 259
avro-fastserde-specific 83 1241 1406 2647 224 136
json/fastjson/databind 47 1324 1456 2780 489 271
smile/jackson/databind 49 1204 1683 2887 341 248
protobuf/jackson/databind 48 1174 1742 2916 242 151
cbor/jackson/databind 50 1138 1824 2962 398 251
json/jackson+afterburner/databind 51 1264 1699 2963 488 271
json/jackson-jr/databind 48 1368 1898 3266 471 263
json/jackson/databind 49 1344 2053 3397 488 271
json/protostuff-runtime 52 1558 1998 3556 472 252
xml/jackson/databind 48 2953 4978 7931 686 296
json/gson/databind 47 4657 4021 8677 489 268
xml/xstream+c 50 4965 10348 15313 490 253
json/javax-tree/glassfish 1250 6867 10764 17631 488 273
xml/exi-manual 48 12710 11167 23877 340 331
java-built-in 57 5357 29617 34974 892 520
json/protobuf 210 6494 60857 67351 500 262
json/json-lib/databind 54 22379 65114 87493 488 273
Full Object Graph Serializers
Contains serializer(-configurations)
supporting full object graph write/read. Object graph may contain cycles. If an Object is referenced twice, it will be so after deserialization.
nothing is known in advance, no class generation, no preregistering of classes. Everything is captured at runtime using e.g. reflection.
note this usually cannot be used cross language, however JSON/XML formats may enable cross language deserialization.
Ser Time+Deser Time (ns)
Size, Compressed size [light] in bytes
create ser deser total size +dfl fury-registered 53 896 317 1212 259 165
fury-auto 55 963 340 1303 295 200
protostuff-graph 78 1007 679 1686 242 153
protostuff-graph-runtime 48 1096 734 1830 244 154
fst 53 2073 1739 3813 319 208
jboss-marshalling-river-ct 49 2724 1660 4384 301 203
kryo-registered 52 3782 1193 4974 236 153
kryo-auto 51 3651 1500 5151 291 198
hessian 51 3619 5434 9053 504 319
jboss-marshalling-river 53 3954 6729 10682 608 395
jboss-serialization 47 6357 6076 12433 935 587
jboss-marshalling-serial 51 8568 9701 18269 859 503
json/flexjson/databind 47 11461 23434 34895 506 282
java-built-in-serializer 53 5491 32069 37560 892 520
stephenerialization 68 7564 38477 46041 1096 522
Cross Lang Binary Serializers
Contains serializer(-configurations)
Only cycle free tree structures. An object referenced twice will be serialized twice.
schema is known in advance (pre registration, intermediate message description languages, class generation).
Ser Time+Deser Time (ns)
Size, Compressed size [light] in bytes
create ser deser total size +dfl colfer 65 275 357 633 241 152
protobuf/protostuff 78 606 642 1248 242 152
protobuf/protostuff-runtime 50 696 689 1385 244 153
protobuf 198 875 527 1402 242 152
thrift-compact 78 840 643 1483 243 152
msgpack/databind 51 564 1182 1746 236 150
thrift 77 1315 626 1942 352 201
flatbuffers 48 1445 679 2124 424 234
capnproto 49 1397 839 2236 400 210
avro-fastserde-generic 344 1321 1049 2371 224 136
avro-generic 370 1380 1050 2430 224 136
avro-specific 82 1248 1229 2477 224 136
avro-fastserde-specific 83 1241 1406 2647 224 136
cbor/jackson/databind 50 1138 1824 2962 398 251
hessian 51 3619 5434 9053 504 319
XML/JSon Serializers
- text format based. Usually can be read by anybody. Frequently inline schema inside data.
- Mixed regarding required preparation, object graph awareness (references).
Ser Time+Deser Time (ns)
Size, Compressed size [light] in bytes
create ser deser total size dfl json-array/dsl-json/databind 48 511 664 1175 296 187
json/dsl-json/databind 47 565 1082 1647 488 271
json-array/fastjson/databind 50 921 836 1756 284 171
smile-col/jackson/databind 48 817 1177 1994 255 168
cbor-col/jackson/databind 52 851 1305 2156 252 165
json-col/jackson/databind 50 1049 1458 2507 296 187
json/fastjson/databind 47 1324 1456 2780 489 271
json/jackson-jr/databind 48 1368 1898 3266 471 263
json/jackson/databind 49 1344 2053 3397 488 271
json/protostuff-runtime 52 1558 1998 3556 472 252
xml/jackson/databind 48 2953 4978 7931 686 296
json/gson/databind 47 4657 4021 8677 489 268
xml/xstreamc 50 4965 10348 15313 490 253
json/javax-tree/glassfish 1250 6867 10764 17631 488 273
xml/exi-manual 48 12710 11167 23877 340 331
json/flexjson/databind 47 11461 23434 34895 506 282
json/protobuf 210 6494 60857 67351 500 262
json/json-lib/databind 54 22379 65114 87493 488 273
Manually optimized Serializers
all flavours of manually optimized serializers. Handcoded and hardwired to exactly the benchmark’s message structures.
- illustrates what’s possible, at what level generic approaches can be optimized in case
Ser Time+Deser Time (ns)
Size, Compressed size [light] in bytes
create ser deser total size dfl datakernel 59 427 435 861 228 137
kryo-manual 55 472 483 955 213 136
protostuff-manual 49 567 632 1199 242 153
wobly-compact 38 768 507 1274 228 143
wobly 38 653 672 1325 254 155
kryo-opt 49 656 700 1357 215 136
java-manual 51 917 715 1632 258 151
msgpack/manual 51 595 1143 1738 236 150
avro-specific-manual 80 1180 1049 2228 224 136
cbor/jackson/manual 48 913 1351 2264 389 245
avro-fastserde-generic-manual 326 1278 1010 2288 224 136
avro-generic-manual 339 1349 956 2305 224 136
smile/jackson/manual 48 1126 1207 2334 344 252
jboss-marshalling-river-ct-manual 50 1636 957 2594 292 171
avro-fastserde-specific-manual 83 1265 1427 2693 224 136
json/jackson/manual 49 1076 1648 2724 471 262
json/protostuff-manual 48 1355 1916 3271 452 242
xml/aalto-manual 48 2097 2735 4832 656 314
jboss-marshalling-river-manual 55 1632 4663 6295 484 245
json/gson/manual 48 3283 3545 6828 471 262
xml/woodstox-manual 49 2559 4390 6949 656 314
bson/mongodb/manual 48 2434 6087 8521 498 286
json/json-smart/manual-tree 49 5132 3938 9071 498 274
json/gson/manual-tree 49 5050 5262 10312 488 268
xml/xstreamc-aalto 48 3476 8101 11576 528 282
xml/fastinfo-manual 49 8087 4404 12490 380 290
xml/xstream+c-fastinfo 49 6537 6571 13108 348 271
xml/xstream+c-woodstox 48 3998 9279 13277 528 282
xml/javolution/manual 48 4668 8880 13547 507 273
json/org.json/manual-tree 49 6207 7365 13572 488 268
json/javax-stream/glassfish 47 4767 9133 13900 471 262
json/json.simple/manual 48 6280 8049 14330 498 274
json/svenson/databind 48 3559 10801 14361 501 271
json/argo/manual-tree 49 13444 14802 28247 488 273
json/jsonij/manual-jpath 48 18476 10616 29092 484 261
Cost of features
shows performance vs convenience of manually-selected libs.
cycle free, schema known at compile time, manual optimization: kryo-manual, msgpack/manual
cycle free, schema known at compile time: protostuff, fst-flat-pre, kryo-flat-pre. (note: protostuff uses class generation while the other two just require a list of classes to be written)
cycle free, schema UNKNOWN at compile time: fst-flat, kryo-flat, protostuff-runtime, msgpack/databind
full object graph awareness, schema UNKNOWN at compile time: fst, kryo.
Ser Time+Deser Time (ns)
Size, Compressed size [light] in bytes
create ser deser total size +dfl kryo-manual 55 472 483 955 213 136
protostuff 83 608 653 1261 242 153
fst-flat-pre 58 618 766 1384 254 168
protostuff-runtime 48 746 642 1389 244 154
msgpack/manual 51 595 1143 1738 236 150
msgpack/databind 51 564 1182 1746 236 150
fst-flat 50 1055 1323 2377 317 207
fst 53 2073 1739 3813 319 208
Full data
create ser deser total size +dflfury-fastest 59 220 222 442 278 165 fury 56 269 239 508 257 163 fury-auto-flat 53 282 264 547 293 198 colfer 65 275 357 633 241 152 datakernel 59 427 435 861 228 137 kryo-manual 55 472 483 955 213 136 json-array/dsl-json/databind 48 511 664 1175 296 187 protostuff-manual 49 567 632 1199 242 153 fury-registered 53 896 317 1212 259 165 protobuf/protostuff 78 606 642 1248 242 152 protostuff 83 608 653 1261 242 153 wobly-compact 38 768 507 1274 228 143 fury-auto 55 963 340 1303 295 200 wobly 38 653 672 1325 254 155 kryo-opt 49 656 700 1357 215 136 fst-flat-pre 58 618 766 1384 254 168 protobuf/protostuff-runtime 50 696 689 1385 244 153 protostuff-runtime 48 746 642 1389 244 154 protobuf 198 875 527 1402 242 152 kryo-registered-flat 52 740 735 1476 218 140 thrift-compact 78 840 643 1483 243 152 java-manual 51 917 715 1632 258 151 json/dsl-json/databind 47 565 1082 1647 488 271 protostuff-graph 78 1007 679 1686 242 153 msgpack/manual 51 595 1143 1738 236 150 msgpack/databind 51 564 1182 1746 236 150 json-array/fastjson/databind 50 921 836 1756 284 171 protostuff-graph-runtime 48 1096 734 1830 244 154 thrift 77 1315 626 1942 352 201 kryo-auto-flat 51 917 1044 1960 273 184 smile-col/jackson/databind 48 817 1177 1994 255 168 flatbuffers 48 1445 679 2124 424 234 cbor-col/jackson/databind 52 851 1305 2156 252 165 avro-specific-manual 80 1180 1049 2228 224 136 capnproto 49 1397 839 2236 400 210 cbor/jackson/manual 48 913 1351 2264 389 245 avro-fastserde-generic-manual 326 1278 1010 2288 224 136 avro-generic-manual 339 1349 956 2305 224 136 smile/jackson/manual 48 1126 1207 2334 344 252 avro-fastserde-generic 344 1321 1049 2371 224 136 fst-flat 50 1055 1323 2377 317 207 avro-generic 370 1380 1050 2430 224 136 protobuf/jackson+afterburner/databind 53 1044 1403 2446 242 151 avro-specific 82 1248 1229 2477 224 136 json-col/jackson/databind 50 1049 1458 2507 296 187 cbor/jackson+afterburner/databind 48 1044 1496 2540 398 251 smile/jackson+afterburner/databind 54 1153 1409 2561 355 259 jboss-marshalling-river-ct-manual 50 1636 957 2594 292 171 avro-fastserde-specific 83 1241 1406 2647 224 136 avro-fastserde-specific-manual 83 1265 1427 2693 224 136 json/jackson/manual 49 1076 1648 2724 471 262 json/fastjson/databind 47 1324 1456 2780 489 271 smile/jackson/databind 49 1204 1683 2887 341 248 protobuf/jackson/databind 48 1174 1742 2916 242 151 cbor/jackson/databind 50 1138 1824 2962 398 251 json/jackson+afterburner/databind 51 1264 1699 2963 488 271 json/jackson-jr/databind 48 1368 1898 3266 471 263 json/protostuff-manual 48 1355 1916 3271 452 242 json/jackson/databind 49 1344 2053 3397 488 271 json/protostuff-runtime 52 1558 1998 3556 472 252 fst 53 2073 1739 3813 319 208 jboss-marshalling-river-ct 49 2724 1660 4384 301 203 xml/aalto-manual 48 2097 2735 4832 656 314 kryo-registered 52 3782 1193 4974 236 153 kryo-auto 51 3651 1500 5151 291 198 jboss-marshalling-river-manual 55 1632 4663 6295 484 245 json/gson/manual 48 3283 3545 6828 471 262 xml/woodstox-manual 49 2559 4390 6949 656 314 xml/jackson/databind 48 2953 4978 7931 686 296 bson/mongodb/manual 48 2434 6087 8521 498 286 json/gson/databind 47 4657 4021 8677 489 268 hessian 51 3619 5434 9053 504 319 json/json-smart/manual-tree 49 5132 3938 9071 498 274 json/gson/manual-tree 49 5050 5262 10312 488 268 jboss-marshalling-river 53 3954 6729 10682 608 395 xml/xstream+c-aalto 48 3476 8101 11576 528 282 jboss-serialization 47 6357 6076 12433 935 587 xml/fastinfo-manual 49 8087 4404 12490 380 290 xml/xstream+c-fastinfo 49 6537 6571 13108 348 271 xml/xstream+c-woodstox 48 3998 9279 13277 528 282 xml/javolution/manual 48 4668 8880 13547 507 273 json/org.json/manual-tree 49 6207 7365 13572 488 268 json/javax-stream/glassfish 47 4767 9133 13900 471 262 json/json.simple/manual 48 6280 8049 14330 498 274 json/svenson/databind 48 3559 10801 14361 501 271 xml/xstream+c 50 4965 10348 15313 490 253 json/javax-tree/glassfish 1250 6867 10764 17631 488 273 jboss-marshalling-serial 51 8568 9701 18269 859 503 xml/exi-manual 48 12710 11167 23877 340 331 json/argo/manual-tree 49 13444 14802 28247 488 273 json/jsonij/manual-jpath 48 18476 10616 29092 484 261 json/flexjson/databind 47 11461 23434 34895 506 282 java-built-in 57 5357 29617 34974 892 520 java-built-in-serializer 53 5491 32069 37560 892 520 stephenerialization 68 7564 38477 46041 1096 522 json/protobuf 210 6494 60857 67351 500 262 json/json-lib/databind 54 22379 65114 87493 488 273
Effort Format Structure Miscfury-fastest CLASSES_KNOWN BINARY FLAT_TREE [] class registration, no references, no compression (fastest)
fury CLASSES_KNOWN BINARY FLAT_TREE [] class registration, no references (typical usage)
fury-auto-flat ZERO_KNOWLEDGE BINARY FLAT_TREE [] no class registration, no references
colfer CLASSES_KNOWN BIN_CROSSLANG FLAT_TREE [] generated code
datakernel MANUAL_OPT BINARY FLAT_TREE [] manually optimized
kryo-manual MANUAL_OPT BINARY FLAT_TREE [] complete manual optimization
json-array/dsl-json/databind CLASSES_KNOWN JSON FLAT_TREE [] JSON array format - all properties without names.
protostuff-manual MANUAL_OPT BINARY FLAT_TREE [] manual
fury-registered CLASSES_KNOWN BINARY FULL_GRAPH [] class registration, references (typical usage)
protobuf/protostuff CLASSES_KNOWN BIN_CROSSLANG FLAT_TREE [] protobuf + generated code
protostuff CLASSES_KNOWN BINARY FLAT_TREE [] generated code
wobly-compact MANUAL_OPT BINARY FLAT_TREE []
fury-auto ZERO_KNOWLEDGE BINARY FULL_GRAPH [] no class registration, references
wobly MANUAL_OPT BINARY FLAT_TREE []
kryo-opt MANUAL_OPT BINARY FLAT_TREE [] manual optimization
fst-flat-pre CLASSES_KNOWN BINARY FLAT_TREE [] fst in unshared mode with preregistered classes
protobuf/protostuff-runtime ZERO_KNOWLEDGE BIN_CROSSLANG FLAT_TREE [] protobuf + reflection
protostuff-runtime ZERO_KNOWLEDGE BINARY FLAT_TREE [] reflection
protobuf CLASSES_KNOWN BIN_CROSSLANG FLAT_TREE []
kryo-registered-flat CLASSES_KNOWN BINARY FLAT_TREE [] class registration, no references (typical usage)
thrift-compact CLASSES_KNOWN BIN_CROSSLANG FLAT_TREE []
java-manual MANUAL_OPT BINARY FLAT_TREE []
json/dsl-json/databind CLASSES_KNOWN JSON FLAT_TREE [] Serializes all properties with exact names.
protostuff-graph CLASSES_KNOWN BINARY FULL_GRAPH [] graph + generated code
msgpack/manual MANUAL_OPT BIN_CROSSLANG FLAT_TREE [] uses positional (column) layout (instead of Maps std impl uses) to eliminate use of names
msgpack/databind CLASSES_KNOWN BIN_CROSSLANG FLAT_TREE [] uses positional (column) layout (instead of Maps std impl uses) to eliminate use of names
json-array/fastjson/databind ZERO_KNOWLEDGE JSON FLAT_TREE []
protostuff-graph-runtime ZERO_KNOWLEDGE BINARY FULL_GRAPH [] graph + reflection
thrift CLASSES_KNOWN BIN_CROSSLANG FLAT_TREE []
kryo-auto-flat ZERO_KNOWLEDGE BINARY FLAT_TREE [] no class registration, no references
smile-col/jackson/databind ZERO_KNOWLEDGE JSON FLAT_TREE [] uses positional (column) layout to eliminate use of names
flatbuffers CLASSES_KNOWN BIN_CROSSLANG FLAT_TREE []
cbor-col/jackson/databind ZERO_KNOWLEDGE JSON FLAT_TREE [] uses positional (column) layout to eliminate use of names
avro-specific-manual MANUAL_OPT BIN_CROSSLANG FLAT_TREE [VERSIONING_BACKWARD_COMPATIBLE, VERSIONING_FORWARD_COMPATIBLE, VERSIONING_MISMATCH_DETECTION]
capnproto CLASSES_KNOWN BIN_CROSSLANG FLAT_TREE []
cbor/jackson/manual MANUAL_OPT BIN_CROSSLANG FLAT_TREE []
avro-fastserde-generic-manual MANUAL_OPT BIN_CROSSLANG FLAT_TREE [VERSIONING_BACKWARD_COMPATIBLE, VERSIONING_FORWARD_COMPATIBLE, VERSIONING_MISMATCH_DETECTION]
avro-generic-manual MANUAL_OPT BIN_CROSSLANG FLAT_TREE [VERSIONING_BACKWARD_COMPATIBLE, VERSIONING_FORWARD_COMPATIBLE, VERSIONING_MISMATCH_DETECTION]
smile/jackson/manual MANUAL_OPT BINARY FLAT_TREE []
avro-fastserde-generic CLASSES_KNOWN BIN_CROSSLANG FLAT_TREE [VERSIONING_BACKWARD_COMPATIBLE, VERSIONING_FORWARD_COMPATIBLE, VERSIONING_MISMATCH_DETECTION]
fst-flat ZERO_KNOWLEDGE BINARY FLAT_TREE [] fst default, but unshared mode
avro-generic CLASSES_KNOWN BIN_CROSSLANG FLAT_TREE [VERSIONING_BACKWARD_COMPATIBLE, VERSIONING_FORWARD_COMPATIBLE, VERSIONING_MISMATCH_DETECTION]
protobuf/jackson+afterburner/databind CLASSES_KNOWN BINARY FLAT_TREE []
avro-specific CLASSES_KNOWN BIN_CROSSLANG FLAT_TREE [VERSIONING_BACKWARD_COMPATIBLE, VERSIONING_FORWARD_COMPATIBLE, VERSIONING_MISMATCH_DETECTION]
json-col/jackson/databind ZERO_KNOWLEDGE JSON FLAT_TREE [] uses positional (column) layout to eliminate use of names
cbor/jackson+afterburner/databind ZERO_KNOWLEDGE BINARY FLAT_TREE [] uses bytecode generation to reduce overhead
smile/jackson+afterburner/databind ZERO_KNOWLEDGE BINARY FLAT_TREE [] uses bytecode generation to reduce overhead
jboss-marshalling-river-ct-manual MANUAL_OPT BINARY FULL_GRAPH [] full graph preregistered classes, manual optimization
avro-fastserde-specific CLASSES_KNOWN BIN_CROSSLANG FLAT_TREE [VERSIONING_BACKWARD_COMPATIBLE, VERSIONING_FORWARD_COMPATIBLE, VERSIONING_MISMATCH_DETECTION]
avro-fastserde-specific-manual MANUAL_OPT BIN_CROSSLANG FLAT_TREE [VERSIONING_BACKWARD_COMPATIBLE, VERSIONING_FORWARD_COMPATIBLE, VERSIONING_MISMATCH_DETECTION]
json/jackson/manual MANUAL_OPT JSON FLAT_TREE []
json/fastjson/databind ZERO_KNOWLEDGE JSON FLAT_TREE []
smile/jackson/databind ZERO_KNOWLEDGE BINARY FLAT_TREE []
protobuf/jackson/databind CLASSES_KNOWN BINARY FLAT_TREE []
cbor/jackson/databind ZERO_KNOWLEDGE BIN_CROSSLANG FLAT_TREE []
json/jackson+afterburner/databind ZERO_KNOWLEDGE BINARY FLAT_TREE [] uses bytecode generation to reduce overhead
json/jackson-jr/databind ZERO_KNOWLEDGE JSON FLAT_TREE []
json/protostuff-manual MANUAL_OPT JSON FLAT_TREE [] json + manual
json/jackson/databind ZERO_KNOWLEDGE JSON FLAT_TREE []
json/protostuff-runtime ZERO_KNOWLEDGE JSON FLAT_TREE [] json + reflection
fst ZERO_KNOWLEDGE BINARY FULL_GRAPH [] default: JDK serialization drop-in-replacement mode
jboss-marshalling-river-ct CLASSES_KNOWN BINARY FULL_GRAPH [] full graph with preregistered classes
xml/aalto-manual MANUAL_OPT XML UNKNOWN []
kryo-registered CLASSES_KNOWN BINARY FULL_GRAPH [] class registration, references (typical usage)
kryo-auto ZERO_KNOWLEDGE BINARY FULL_GRAPH [] no class registration, references
jboss-marshalling-river-manual MANUAL_OPT BINARY FULL_GRAPH [] full graph with manual optimizations
json/gson/manual MANUAL_OPT JSON FLAT_TREE []
xml/woodstox-manual MANUAL_OPT XML UNKNOWN []
xml/jackson/databind ZERO_KNOWLEDGE XML FLAT_TREE []
bson/mongodb/manual MANUAL_OPT BIN_CROSSLANG FLAT_TREE []
json/gson/databind ZERO_KNOWLEDGE JSON FLAT_TREE []
hessian ZERO_KNOWLEDGE BIN_CROSSLANG FULL_GRAPH []
json/json-smart/manual-tree MANUAL_OPT JSON FLAT_TREE []
json/gson/manual-tree MANUAL_OPT JSON FLAT_TREE []
jboss-marshalling-river ZERO_KNOWLEDGE BINARY FULL_GRAPH [] full graph zero knowledge
xml/xstream+c-aalto MANUAL_OPT XML FLAT_TREE []
jboss-serialization ZERO_KNOWLEDGE BINARY FULL_GRAPH []
xml/fastinfo-manual MANUAL_OPT XML UNKNOWN []
xml/xstream+c-fastinfo MANUAL_OPT XML FLAT_TREE []
xml/xstream+c-woodstox MANUAL_OPT XML FLAT_TREE []
xml/javolution/manual MANUAL_OPT XML FLAT_TREE []
json/org.json/manual-tree MANUAL_OPT JSON FLAT_TREE []
json/javax-stream/glassfish MANUAL_OPT JSON FLAT_TREE []
json/json.simple/manual MANUAL_OPT JSON FLAT_TREE []
json/svenson/databind MANUAL_OPT JSON FLAT_TREE []
xml/xstream+c ZERO_KNOWLEDGE XML FLAT_TREE []
json/javax-tree/glassfish ZERO_KNOWLEDGE JSON FLAT_TREE []
jboss-marshalling-serial ZERO_KNOWLEDGE BINARY FULL_GRAPH []
xml/exi-manual ZERO_KNOWLEDGE XML UNKNOWN []
json/argo/manual-tree MANUAL_OPT JSON FLAT_TREE []
json/jsonij/manual-jpath MANUAL_OPT JSON FLAT_TREE []
json/flexjson/databind ZERO_KNOWLEDGE JSON FULL_GRAPH []
java-built-in ZERO_KNOWLEDGE BINARY FLAT_TREE []
java-built-in-serializer ZERO_KNOWLEDGE BINARY FULL_GRAPH []
stephenerialization ZERO_KNOWLEDGE BINARY FULL_GRAPH [] null
json/protobuf CLASSES_KNOWN JSON FLAT_TREE []
json/json-lib/databind ZERO_KNOWLEDGE JSON FLAT_TREE []