# README
github.com/ybkimm/msgpack
Another MessagePack encoding/decoding library.
This library doesn't use reflection, instead it relies on small interface: Map, Array, and Extension.
Heavily inspired by GoJay.
Features
- Encoding primitive types, arrays, maps, and
time.Time
. - No reflection.
- Extension interface for custom types.
- JSON conversion: FromJSON, ToJSON.
- NotOptimizedYet™ - json-related functions are slow at this time.
Get Started
go get -u github.com/ybkimm/msgpack
For example, please see examples/main.go.
Benchmark
Testing PC spec:
- AMD Ryzen 5 2400G (3.90 GHz, 4 Cores, 8 Threads)
- 8GB RAM (Samsung DDR4)
- Windows 10 Pro Build 18362.418
BenchmarkDecoder_decodeMap-8 8694976 133 ns/op 80 B/op 2 allocs/op
BenchmarkDecoder_decodeArray-8 2574930 466 ns/op 320 B/op 2 allocs/op
BenchmarkEncoder_encodeMap-8 4686970 254 ns/op 576 B/op 2 allocs/op
BenchmarkEncoder_encodeArray-8 3061005 391 ns/op 576 B/op 2 allocs/op
For benchmark data, see msgpack_test.go.
Todo List
- Optimize JSON conversion
License
MIT License. See License.
Some code snippets are comes from gojay - See it's license.