https://msgpack.org/index.html
It's a serialization format which maps fairly closely to JSON, but instead of using text, the data is sent over in binary making it far more compact and faster to encode / decode.
https://github.com/alecthomas/go_serialization_benchmarks
It would appear that it's around ten times faster than JSON, for Go at-least. Intriguing, to say the least.
To read those benchmarks, like most Go benchmarks, you just have to know that an op is a call to the serialization function, and then, the benchmark tool (aka go test) runs the function a million times (the number of times is on the left of it), calculates out the average, and spits out the results for it.
If you're confused by the terminology used there:
Marshalling is the process of encoding a struct or some other bit of data in the serialized format. Unmarshalling is the opposite.
I find the results intriguing, although MessagePack's performance crashes like a brick on JavaScript (it's not too shabby there either) due JSON being implemented in assembly / C++ there while the MessagePack parser is written in JavaScript.
The main downside is that as a binary format, you can't read it without throwing it into a deserializer in the same way you can for JSON.
It's a serialization format which maps fairly closely to JSON, but instead of using text, the data is sent over in binary making it far more compact and faster to encode / decode.
https://github.com/alecthomas/go_serialization_benchmarks
It would appear that it's around ten times faster than JSON, for Go at-least. Intriguing, to say the least.
To read those benchmarks, like most Go benchmarks, you just have to know that an op is a call to the serialization function, and then, the benchmark tool (aka go test) runs the function a million times (the number of times is on the left of it), calculates out the average, and spits out the results for it.
If you're confused by the terminology used there:
Marshalling is the process of encoding a struct or some other bit of data in the serialized format. Unmarshalling is the opposite.
I find the results intriguing, although MessagePack's performance crashes like a brick on JavaScript (it's not too shabby there either) due JSON being implemented in assembly / C++ there while the MessagePack parser is written in JavaScript.
The main downside is that as a binary format, you can't read it without throwing it into a deserializer in the same way you can for JSON.







