项目作者: ar90n

项目描述 :
A tiny MessagePack library for C++11 (msgpack.org[C++11])
高级语言: C++
项目地址: git://github.com/ar90n/msgpack11.git
创建时间: 2016-08-21T13:51:19Z
项目社区:https://github.com/ar90n/msgpack11

开源协议:MIT License

下载


Build
Issues
MIT

What is msgpack11 ?

msgpack11 is a tiny MsgPack library for C++11, providing MsgPack parsing and serialization.
This library is inspired by json11.
The API of msgpack11 is designed to be similar with json11.

Installation

  • Using CMake

    1. git clone git@github.com:ar90n/msgpack11.git
    2. mkdir build
    3. cd build
    4. cmake ../msgpack11
    5. make && make install
  • Using Buck

    1. git clone git@github.com:ar90n/msgpack11.git
    2. cd msgpack11
    3. buck build :msgpack11

Example

  1. MsgPack my_msgpack = MsgPack::object {
  2. { "key1", "value1" },
  3. { "key2", false },
  4. { "key3", MsgPack::array { 1, 2, 3 } },
  5. };
  6. //access to elements
  7. std::cout << my_msgpack["key1"].string_value();
  8. //serialize
  9. std::string msgpack_bytes = my_msgpack.dump();
  10. //deserialize
  11. std::string err;
  12. MsgPack des_msgpack = MsgPack::parse(msgpack_bytes, err);

There are more specific examples in example.cpp.
Please see it.

Benchmark

Derived from schemaless-benchmarks

Library Binary size time[ms] @ Smallest time[ms] @ Small time[ms] @ Medium time[ms] @ Large time[ms] @ Largest
msgpack-c-pack(v2.1.4) 6649 0.55 2.38 43.22 711.75 8748.20
msgpack-c-unpack(v2.1.4) 21804 1.34 6.00 83.09 714.64 11192.32
msgpack11-pack(v0.0.9) 99844 20.80 130.04 1063.24 10466.65 136640.99
msgpack11-unpack(v0.0.9) 99460 13.31 92.54 786.73 7345.43 99119.56

CPU : 2.6 GHz Intel Core i7
Memory : 16 GB 2133 MHz LPDDR3
Git revision : 6f6b4302b68b3c88312eb24367418b7fce81298c

Feature

  • Support serialization and deserialization.

Acknowledgement

License

This software is released under the MIT License, see LICENSE.txt.