MessagePack Serialization Format
github.com
1
Leaving SiteNav
External Link Disclaimer
You are about to visit github.com. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
MessagePack is an efficient binary serialization format that allows exchanging data among multiple languages like JSON, but faster and smaller. Created by Sadayuki Furuhashi (frsyuki) at Treasure Data in 2009, MessagePack is designed for high-performance data interchange in distributed systems, RPC frameworks, and microservices. Key features: compact binary format (uses type-length-value encoding with variable-length integers, compact string encoding, and bin type for binary data, typically producing 30 to 60 percent smaller payloads than JSON). Language support (official implementations in over 50 programming languages including C, C++, Java, Python, Ruby, Go, Rust, JavaScript, PHP, Swift, Scala, Erlang, Haskell, Clojure, Elixir, OCaml, D, Lua, Nim, Crystal, Julia, Dart, Perl, and R). Ext type (user-defined extension types allowing applications to define custom serialization for domain-specific objects with type codes from 0 to 127). Timestamp extension (standardized timestamp type for cross-platform date-time representation with nanosecond precision). Performance (C implementation achieves serialization speeds over 2 million messages per second for small objects, with zero-copy deserialization in some implementations). Streaming (incremental deserialization for parsing partial messages from network streams without buffering entire payload). Schema-less (self-describing format that does not require external schema definitions, unlike Protocol Buffers or Thrift). JSON compatibility (conceptually similar to JSON with nil, boolean, integer, float, string, binary, array, and map types, but in binary encoding). RPC support (MessagePack-RPC protocol specification for remote procedure calls using MessagePack as wire format, with implementations in Ruby, Java, C++, and PHP). Used in production by Redis (Hiredis), Fluentd (log aggregation), Treasure Data (data pipeline), Pinterest (service communication), and CockroachDB (internal communication).
Statistics
1
Views
0
Clicks
0
Like
0
Dislike