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:

defaultbinpackmsgpack
serializeserialize()bin_encode()msgpack_serialize()
unserializeunserialize()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