Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

MessagePack is an extremely efficient object serialization library. It's like JSON, but very fast and small.

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 cpp
Octocat-spinner-32 erlang
Octocat-spinner-32 example
Octocat-spinner-32 haskell
Octocat-spinner-32 java
Octocat-spinner-32 msgpack
Octocat-spinner-32 perl
Octocat-spinner-32 php
Octocat-spinner-32 python
Octocat-spinner-32 ruby
Octocat-spinner-32 test
Octocat-spinner-32 .gitignore
Octocat-spinner-32 README.md
README.md

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

Something went wrong with that request. Please try again.