3 ms·
How does this compare to MessagePack? (https://github.com/msgpack/msgpack https://github.com/msgpack/msgpack)
by Reelin 7y ago
How does this compare to MessagePack? (https://github.com/msgpack/msgpack https://github.com/msgpack/msgpack)
- kstenerud 7y agoMessagePack: * Doesn't have a sister text format for human editing. * Uses raw uncompressed types for integers and floats, which wastes space * Doesn't support arbitrary sized/precision numeric types * Timestamp format uses seconds instead of Gregorian fields (which means that your implementation must keep a leap second database, and time conversions are complicated) * No time zones * Doesn't have metadata, comments, or references * Container types have an unnecessary length field * Stores data in big endian byte order (an unnecessary expense since all popular modern chips are little endian) * Wastes an extra bit for negative integers * 32-bit limitations on length (so max 4gb payload sizes) * No versioning of documents
- Reelin 7y agoThat's actually a pretty convincing list! You might want to consider adding a feature comparison matrix for a few of the more popular formats in a prominent location. It also probably wouldn't hurt to lead the page with a small example of encoded text, the way MessagePack does (it's what got me to give their website a closer look, which led to GitHub, and then I started using it). Regarding the point about having a sister text format, I suppose I'd tend to view JSON as filling that role. Not to bother you for a second comparison, but if you happen to have it handy seeing how CTE compares to JSON in terms of encoding efficiency would be interesting to me. Edit: I found a list of MessagePack <--> JSON limitations that I hadn't really thought about! (https://github.com/ludocode/msgpack-tools#differences-between-messagepack-and-json https://github.com/ludocode/msgpack-tools#differences-betwee...)
- kstenerud 7y agoThanks for the feedback! I'm not exactly the greatest at marketing, so any help in this regard is most appreciated :)