ar90n / Msgpack11
Licence: mit
A tiny MessagePack library for C++11 (msgpack.org[C++11])
Stars: ✭ 78
Projects that are alternatives of or similar to Msgpack11
msgpack-perl
MessagePack serializer implementation for Perl / msgpack.org[Perl]
Stars: ✭ 48 (-38.46%)
Mutual labels: serialization, msgpack, messagepack
Messagepack Csharp
Extremely Fast MessagePack Serializer for C#(.NET, .NET Core, Unity, Xamarin). / msgpack.org[C#]
Stars: ✭ 3,668 (+4602.56%)
Mutual labels: msgpack, messagepack, serialization
sbp
Structured Bindings Pack - serialize C++ structs into MessagePack binary form
Stars: ✭ 16 (-79.49%)
Mutual labels: serialization, msgpack, messagepack
Msgpack Cli
MessagePack implementation for Common Language Infrastructure / msgpack.org[C#]
Stars: ✭ 761 (+875.64%)
Mutual labels: msgpack, messagepack, serialization
Msgpack Rust
MessagePack implementation for Rust / msgpack.org[Rust]
Stars: ✭ 561 (+619.23%)
Mutual labels: msgpack, messagepack, serialization
Msgpack.php
A pure PHP implementation of the MessagePack serialization format / msgpack.org[PHP]
Stars: ✭ 327 (+319.23%)
Mutual labels: msgpack, messagepack, serialization
msgpack-asgi
Drop-in MessagePack support for ASGI applications and frameworks
Stars: ✭ 100 (+28.21%)
Mutual labels: msgpack, messagepack
kotlinx-serialization-msgpack
MsgPack support for kotlinx.serialization -- msgpack.org[kotlinx.serialization]
Stars: ✭ 17 (-78.21%)
Mutual labels: msgpack, messagepack
Mpack
MPack - A C encoder/decoder for the MessagePack serialization format / msgpack.org[C]
Stars: ✭ 282 (+261.54%)
Mutual labels: msgpack, messagepack
msgpack-smalltalk
MessagePack serialization library for various Smalltalk dialects / msgpack.org[Smalltalk]
Stars: ✭ 22 (-71.79%)
Mutual labels: serialization, msgpack
Ceras
Universal binary serializer for a wide variety of scenarios https://discord.gg/FGaCX4c
Stars: ✭ 374 (+379.49%)
Mutual labels: msgpack, serialization
Remarshal
Convert between CBOR, JSON, MessagePack, TOML, and YAML
Stars: ✭ 421 (+439.74%)
Mutual labels: msgpack, messagepack
what-the-pack
Ultra-fast MessagePack for NodeJS & Browsers | msgpack.org[Javascript/NodeJS]
Stars: ✭ 36 (-53.85%)
Mutual labels: msgpack, messagepack
HashStablePack
Serialization code generator for QUICK struct content comparison
Stars: ✭ 94 (+20.51%)
Mutual labels: serialization, messagepack
rcppmsgpack
MsgPack Headers for R / msgpack.org[R]
Stars: ✭ 17 (-78.21%)
Mutual labels: msgpack, messagepack
Cpp Serializers
Benchmark comparing various data serialization libraries (thrift, protobuf etc.) for C++
Stars: ✭ 533 (+583.33%)
Mutual labels: msgpack, serialization
urlpack
Pure JavaScript toolkit for data URLs (MessagePack, Base58 and Base62)
Stars: ✭ 51 (-34.62%)
Mutual labels: serialization, messagepack
Airframe
Essential Building Blocks for Scala
Stars: ✭ 442 (+466.67%)
Mutual labels: msgpack, serialization
Msgpack Javascript
MessagePack for JavaScript/TypeScript/ECMA-262 / msgpack.org[JavaScript]
Stars: ✭ 742 (+851.28%)
Mutual labels: msgpack, messagepack
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
git clone [email protected]:ar90n/msgpack11.git mkdir build cd build cmake ../msgpack11 make && make install
-
Using Buck
git clone [email protected]:ar90n/msgpack11.git cd msgpack11 buck build :msgpack11
Example
MsgPack my_msgpack = MsgPack::object {
{ "key1", "value1" },
{ "key2", false },
{ "key3", MsgPack::array { 1, 2, 3 } },
};
//access to elements
std::cout << my_msgpack["key1"].string_value();
//serialize
std::string msgpack_bytes = my_msgpack.dump();
//deserialize
std::string err;
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.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].