OS:Linux
JVM:Oracle Corporation 1.8.0_40
CPU:Intel Haswell Dual Socket
Cores (incl HT):20
1.8.0_40-b26,Java HotSpot(TM) 64-Bit Server VM,Linux

Note: FAIL means: "test threw exception", ERR means "deep equals test of serialized vs deserialized object returned false (either type changes or real error)".
The class structures tested are cycle free and reference sharing was turned off. In addition simple types where choosen in order to avoid test failures. Note that json.io and fst-json are capable to serialize much more complex object graphs (incl. ref restoring) compared to the simpler json serializers. fast-serialization's (fst) json encoder can serialize practically any serializable java object graph even supporting externalizable and custom serializers.


Test Class: FrequentPrimitives[]

A array[10] of objects with a typical distribution of primitve fields: 2 short Strings, 3 boolean, 6 ints, 2 long, one double.

speed read+write (ns)

size (bytes)


lib                                     read (ns)     write (ns)     total (ns)   size (bytes)
BOON .33 JSon FAIL                              0              0              0              0
FST Serialization 2.29 unshared              3895           2400           6295            846
Jackson 2.53                                15164          10955          26119           2001
JDK 1.8 Serialization                       19811           7794          27605           1143
FST 2.29 Json over Jackson                  22862          16987          39849           2219
Gson                                        31484          75027         106511           2001
JSON IO                                    149783          35514         185297           2100



Test Class: LargeNativeIntArrays

measures performance serializing a large int array, a large long array and a large double array filled with random values. Note that random values destroy any value compression.

speed read+write (ns)

size (bytes)


lib                                     read (ns)     write (ns)     total (ns)   size (bytes)
FST Serialization 2.29 unshared             39037          23509          62546          31220
JDK 1.8 Serialization                       42339          33081          75420          31406
Jackson 2.53                              1286921        3101238        4388159          83126
FST 2.29 Json over Jackson                1656462        3160617        4817079          83235
BOON .33 JSon                             1346209        4569244        5915453          83320
Gson                                      1901277        4842333        6743610          83126
JSON IO                                   5467583        3284497        8752080          83213



Test Class: Primitives

Enums, EnumSets, Date, String, byte, short, int, .. Byte, Character; Short, Integer, ..

speed read+write (ns)

size (bytes)


lib                                     read (ns)     write (ns)     total (ns)   size (bytes)
JSON IO FAIL                                    0              0              0              0
FST Serialization 2.29 unshared              1947           1801           3748            296
Jackson 2.53                                 5880           2997           8877            529
FST 2.29 Json over Jackson                  13533           9871          23404            801
BOON .33 JSon(ERR)                          32389          14003          46392            852
Gson(ERR)                                   34273          20797          55070            456
JDK 1.8 Serialization                       63729          11102          74831           1548



Test Class: Trader

Measures serialization of a typical 'Enterprise-Object' using Value-Classes instead of primitive tpyes.

speed read+write (ns)

size (bytes)


lib                                     read (ns)     write (ns)     total (ns)   size (bytes)
FST Serialization 2.29 unshared             76138          59362         135500          10569
Jackson 2.53                               256897         124584         381481          41721
JDK 1.8 Serialization                      262490         237440         499930          11075
FST 2.29 Json over Jackson                 479230         226748         705978          54284
BOON .33 JSon(ERR)                         550429         422649         973078          53235
Gson(ERR)                                 1268854         909304        2178158          42072
JSON IO(ERR)                              6232836         827333        7060169          47378



Test Class: MediaContent

measures serializing the cyclefree object structure used by one of the most known encoding/decoding tests

speed read+write (ns)

size (bytes)


lib                                     read (ns)     write (ns)     total (ns)   size (bytes)
FST Serialization 2.29 unshared              1858           1392           3250            318
Jackson 2.53                                 3670           1874           5544            503
FST 2.29 Json over Jackson                   9937           8226          18163            741
Gson(ERR)                                    7843          14295          22138            486
BOON .33 JSon(ERR)                          16321           9356          25677            608
JDK 1.8 Serialization                       37173           7018          44191            889
JSON IO(ERR)                                76526          18092          94618            736



Test Class: LargeFPArrays

measures performance serializing a large flaot and a large double array filled with random values.

speed read+write (ns)

size (bytes)


lib                                     read (ns)     write (ns)     total (ns)   size (bytes)
JDK 1.8 Serialization                       29655          24798          54453          20965
FST Serialization 2.29 unshared             42280          17093          59373          20812
Jackson 2.53                              2131624        4755429        6887053          63671
BOON .33 JSon(ERR)                        2274711        5761188        8035899          63787
Gson(ERR)                                 2597405        6018496        8615901          63671
FST 2.29 Json over Jackson                2827170        6528413        9355583          86541
JSON IO(ERR)                              6721337        6100568       12821905          86509



Test Class: JSonCollection

a map of String=>int and a list holding a pojo, some numbers and a string

speed read+write (ns)

size (bytes)


lib                                     read (ns)     write (ns)     total (ns)   size (bytes)
BOON .33 JSon FAIL                              0              0              0              0
FST Serialization 2.29 unshared              1637           1459           3096            200
Jackson 2.53(ERR)                            3597           2117           5714            278
FST 2.29 Json over Jackson                   8573           8096          16669            422
Gson(ERR)                                    6987          13018          20005            278
JDK 1.8 Serialization                       34323           8715          43038            760
JSON IO(ERR)                                64323          20306          84629            713



Test Class: ShortRemoteCall

measures overhead of stream initialization+classname decoding. Only one very short object is serialized

speed read+write (ns)

size (bytes)


lib                                     read (ns)     write (ns)     total (ns)   size (bytes)
FST Serialization 2.29 unshared               344            291            635             25
Jackson 2.53(ERR)                             984            471           1455             89
Gson(ERR)                                    3327           3989           7316             89
FST 2.29 Json over Jackson                   4577           5620          10197            200
BOON .33 JSon(ERR)                          10341           4711          15052            209
JDK 1.8 Serialization                       15401           2170          17571            305
JSON IO(ERR)                                19323           7990          27313            193