In Depth Talk on Performance and Serialization (Protobuf, json, Thrift, etc.)
infoq.com
infoq.com
Also would have been neat to see tnetstrings <or insert favorite format here>. ;)
MsgPack is so close to JSON in structure, but very compact (1 byte type header, small numbers type and payload combined) it doesn't make any sense.
That something similar is occurring to the messages in the talk, is the only explanation I could think of anyway... Looking at the thrift description, it does appear that there are int32s and doubles in the messages.
[1]: http://wiki.msgpack.org/display/MSGPACK/Format+specification...
The msgpack serializer was probably used in a suboptimal way. The integer 3 can be encoded by msgpack in one byte as well. I never use doubles which is probably why I didn't think of this case.
Integers are actually always <= bytes in msgpack than the JSON ascii representation.
Anyway - benchmarking is hard.