MessagePack serializer implementation for Python msgpack.org[Python] https://msgpack.org/
Find a file
2011-04-09 22:16:24 +09:00
cpp gtest requires pthread 2011-03-03 06:42:14 +09:00
csharp csharp: fix fixraw prefix 2011-04-09 22:16:24 +09:00
erlang erlang: fixed bug around error case when serializing atom. 2010-08-27 23:02:16 +09:00
example fix Makefile.am 2009-08-07 11:28:23 +09:00
go Documentation. 2011-04-03 19:09:14 +09:00
haskell haskell: reduce dependency of template-haskell 2011-04-04 23:33:02 +09:00
java MSGPACK-5 added test cases for Unpacker.unpackXxx() methods 2011-04-07 23:21:56 +09:00
msgpack cpp: fixes problem that InterlockedIncrement/Decrement are not found on _WIN32 platform 2011-02-24 00:21:54 +09:00
ocaml ocaml: upadte build file 2011-04-04 18:28:37 +09:00
perl perl: disable warnings 2010-10-30 13:04:30 +09:00
php php: added unpack of class object converter 2011-01-16 17:35:10 +09:00
python python: Remove UnpackIterator. Unpacker is iterator of itself. 2011-01-30 10:45:39 +09:00
ruby ruby: buffer size limit (disabled at present) 2010-11-28 23:13:53 +09:00
scala scala: Modified pom.xml. I changed version of 'MessagePack for Java' from 0.5.1-devel to 0.5.2-SNAPSHOT 2011-04-06 08:52:14 +09:00
test ruby: add test/test_cases.rb 2010-06-01 16:35:21 +09:00
.gitignore import C# implementation 2011-04-09 21:17:05 +09:00
README.md c,cpp: reforms source tree 2010-04-18 00:08:03 +09:00

MessagePack

Extremely efficient object serialization library. It's like JSON, but very fast and small.

What's MessagePack?

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.

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. [1,2,3] (3 elements array) is serialized in 4 bytes using MessagePack as follows:

require 'msgpack'
msg = [1,2,3].to_msgpack  #=> "\x93\x01\x02\x03"
MessagePack.unpack(msg)   #=> [1,2,3]

Performance

Serialization + Deserialization Speed Test

In this test, it measured the elapsed time of serializing and deserializing 200,000 target objects. The target object consists of the three integers and 512 bytes string. The source code of this test is available from frsyuki' serializer-speed-test repository.

Getting Started

Usage and other documents about implementations in each language are found at the web site.

Learn More