My thoughts on MessagePack
gist.github.com
My thoughts on MessagePack
1–10 of 28 posts
Re: My thoughts on MessagePack
#2Re: My thoughts on MessagePack
#3 MessagePack is not smaller than gzip'd JSON
MessagePack is not faster than JSON when a browser is involved
Other comments from that post include: MessagePack is not human readable
MessagePack has issues with UTF-8
Small packets also have significant TCP/IP overhead
Really, anyone who hasn't read the other comments should: http://news.ycombinator.com/item?id=4090831Re: My thoughts on MessagePack
#4The best way of serialization at present. I like the thought, performance and various implementations.
I, for instance, am still using the much-less-cool yaml, because I need to reference the same object at multiple points within the same serialization. JSON and (AFAIK) msgpack just dont do that, so in this case there is simply no argument. It took me far too much playing around to figure this out, because the internet is full of "JSON > yaml" and similar broad statements, and very few plain descriptions of what the actual different use cases for each type of serialization might be.
Re: My thoughts on MessagePack
#5God says... stiffly tilde invite liker method signify grace abstinence embryo home try_again hid If_had_my_druthers vicissitude member defective whoo_whoo With cedars Christ concreated various EVEN ipod celebrated hearken no_you_cant prophecy refuse arithmetic Altar presides seem Royalties ease disapproveth occurred congratulation vote announcing spread blending lowest fulness successive weighed request contrition Truly Spain
So many niggers! It's fucken planet of the apes and they don't believe in air planes.
God says...
5:7 For they that sleep sleep in the night; and they that be drunken are drunken in the night.
5:8 But let us, who are of the day, be sober, putting on the breastplate of faith and love; and for an helmet, the hope of salvation.
5:9 For God hath not appointed us to wrath, but to obtain salvation by our Lord Jesus Christ, 5:10 Who died for us, that, whether we wake or sleep, we should live together with him.
5:11 Wherefore comfort yourselves together, and edify one another, even as also ye do.
5:12 And we beseech you, brethren, to know them which labour among you, and are over you in the Lord, and admonish you; 5:13 And to esteem them very highly in love for their work's sake. And be at peace among yourselves.
Re: My thoughts on MessagePack
#6The best way of serialization at present. I like the thought, performance and various implementations.
Once upon a time, I had to write a serializer that was expected to be run hundreds or thousands of times a second, once for every request in an AJAX app. The solution I chose was to not serialize at all; always keep the data in a binary blob (a byte array) and write a facade of ephemeral objects on top of it, essentially containing nothing more than their offsets into the blob. Because the ratio of read/write operations to serialization operations was so low, this made a lot more sense than building an object graph, only to throw it away a millisecond or two later.
Re: My thoughts on MessagePack
#7cheald has an excellent comment regarding MessagePack, JSON, and Protocol Buffers in the post from 15 hours ago: http://news.ycombinator.com/item?id=4091051 MessagePack is not smaller than gzip'd JSON MessagePack is not faster than JSON when a browser is involved Other comments from that post include: MessagePack is not human readable MessagePack has issues with UTF-8 Small packets also have significant TCP/IP overhe…
Using this from the browser is not the first thing that came to my mind.
Re: My thoughts on MessagePack
#8cheald has an excellent comment regarding MessagePack, JSON, and Protocol Buffers in the post from 15 hours ago: http://news.ycombinator.com/item?id=4091051 MessagePack is not smaller than gzip'd JSON MessagePack is not faster than JSON when a browser is involved Other comments from that post include: MessagePack is not human readable MessagePack has issues with UTF-8 Small packets also have significant TCP/IP overhe…
A major use case of MessagePack is to store serialized objects in memcached. A blog post written by Pinterest describes this use case (http://engineering.pinterest.com/posts/2012/memcache-games/). They use MessagePack with Python which is faster than one with JavaScript. They could store more objects in a server without performance declination (e.g. gzip).
It's true that MessagePack is not always faster than JSON (e.g. within browsers), and it's not always smaller than other serialization methods (e.g. with gzip compression). So we should consider that which serialization methods should I use for "my" case.
There are also general tendency which is helpful to select MessagePack or JSON:
MessagePack is faster to serialize binary data such as thumbnail images.
MessagePack is better to reduce overheads to exchange small objects between servers.
JSON is better to use it with browsers.Re: My thoughts on MessagePack
#9cheald has an excellent comment regarding MessagePack, JSON, and Protocol Buffers in the post from 15 hours ago: http://news.ycombinator.com/item?id=4091051 MessagePack is not smaller than gzip'd JSON MessagePack is not faster than JSON when a browser is involved Other comments from that post include: MessagePack is not human readable MessagePack has issues with UTF-8 Small packets also have significant TCP/IP overhe…
So far, MessagePack for Java, C++ and D implement the concept.
Re: My thoughts on MessagePack
#10Compared with other serialization libraries such as Protocol Buffers, Avro or BSON, one of the advantages of MessagePack is compatibility with JSON. (In spite of its name, BSON has special types which cause incompatibility with JSON)
It means we can exchange objects sent from browsers (in JSON format) between servers written in different languages without losing information.
I will not use MessagePack with browsers but it's still useful to use it with web applications.