MessagePack - Extremely efficient object serialization library (msgpack.sourceforge.net)
MessagePack is a binary-based efficient object serialization library. It enables to exchange structured objects between many languages like JSON. But unlike JSON, it is very fast and small.<p>Typical small integer (like flags or error code) is saved only in 1 byte, and typical short string only needs 1 byte except the length of the string itself
20 comments
[ 2.7 ms ] story [ 66.1 ms ] threadIn addition, the speed of the compression stream really becomes an issue if you're sending messages within a cluster. Over the internet your bandwidth and latency will start to become more important, but within a data centre all pure-binary protocols are much faster.
is that wrong? if not, i think many people would prefer something more open (more implementations; less likely to die from lack of support)
[edit: sorry, i am talking rubbish here. they are all linked from here, for example: http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One
i have no idea why i thought they were closed. has the ITU policy changed recently?]
Still don't think this old telecom technology is superior compared to modern serialization tools like Protocol Buffers.
PER is the only format I've seen that uses the schema to decide how much information the recipient actually needs to decode the message and just sends that, rather than adding pure overhead just in case a recipient has no idea what's going on yet is somehow supposed to do something useful with the message.
I think such approach is more flexible than making explicit assumptions on how much data is actually carried in integers.
Link to Avro: http://hadoop.apache.org/avro/ Link to Fudge: http://www.fudgemsg.org/ Couldn't do hyperlinks for some reason. Perhaps because I'm a moron.