Skip to content
Huqiu Liao edited this page Jul 7, 2014 · 4 revisions

Here is the benchmark script used in test:

We test the the following methods:

default binpack msgpack
serialize serialize() bin_encode() msgpack_serialize()
unserialize unserialize() bin_decode() msgpack_unserialize()

We test the following data types:

  • null
  • bool
  • integer
  • float
  • string
  • array
  • map
  • mix

In PHP 5.5.9, We got this result:

[null      ]       default       binpack       msgpack
status     :           OK            OK            OK
serialize  : 0.0114 (100%) 0.0067 ( 58%) 0.0082 ( 71%)
unserialize: 0.0096 (100%) 0.0065 ( 67%) 0.0089 ( 92%)
size       :      2 (100%)      1 ( 50%)      1 ( 50%)

[bool      ]       default       binpack       msgpack
status     :           OK            OK            OK
serialize  : 0.0118 (100%) 0.0069 ( 58%) 0.0083 ( 69%)
unserialize: 0.0097 (100%) 0.0064 ( 66%) 0.0090 ( 92%)
size       :      4 (100%)      1 ( 25%)      1 ( 25%)

[integer   ]       default       binpack       msgpack
status     :           OK            OK            OK
serialize  : 0.0121 (100%) 0.0071 ( 58%) 0.0085 ( 69%)
unserialize: 0.0101 (100%) 0.0070 ( 69%) 0.0094 ( 93%)
size       :     11 (100%)      4 ( 36%)      5 ( 45%)

[float     ]       default       binpack       msgpack
status     :           OK            OK            OK
serialize  : 0.0282 (100%) 0.0068 ( 24%) 0.0082 ( 29%)
unserialize: 0.0233 (100%) 0.0066 ( 28%) 0.0091 ( 38%)
size       :     21 (100%)      9 ( 42%)      9 ( 42%)

[string    ]       default       binpack       msgpack
status     :           OK            OK            OK
serialize  : 0.0120 (100%) 0.0070 ( 58%) 0.0088 ( 73%)
unserialize: 0.0110 (100%) 0.0077 ( 69%) 0.0106 ( 96%)
size       :     40 (100%)     34 ( 85%)     35 ( 87%)

[array     ]       default       binpack       msgpack
status     :           OK            OK            OK
serialize  : 0.0344 (100%) 0.0130 ( 37%) 0.0180 ( 52%)
unserialize: 0.0406 (100%) 0.0287 ( 70%) 0.0376 ( 92%)
size       :    226 (100%)    172 ( 76%)    176 ( 77%)

[hash      ]       default       binpack       msgpack
status     :           OK            OK            OK
serialize  : 0.0365 (100%) 0.0155 ( 42%) 0.0205 ( 56%)
unserialize: 0.0571 (100%) 0.0354 ( 61%) 0.0571 ( 99%)
size       :    406 (100%)    342 ( 84%)    351 ( 86%)

[mix       ]       default       binpack       msgpack
status     :           OK            OK            OK
serialize  : 0.0393 (100%) 0.0112 ( 28%) 0.0172 ( 43%)
unserialize: 0.0398 (100%) 0.0273 ( 68%) 0.0360 ( 90%)
size       :     48 (100%)      9 ( 18%)      8 ( 16%)
Clone this wiki locally