News for hackers. Stuff that matters.
Re:In mobile, 62.7% of computation energy cost is spent on d... by kstenerud on Wednesday November 27, 2019 @07:12AM (#21647208)
MessagePack:

* 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

Re:In mobile, 62.7% of computation energy cost is spent on d... by Reelin on Wednesday November 27, 2019 @08:11AM (#21647509)
That'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-betwee...)

Re:In mobile, 62.7% of computation energy cost is spent on d... by kstenerud on Wednesday November 27, 2019 @08:16AM (#21647531)
Thanks for the feedback! I'm not exactly the greatest at marketing, so any help in this regard is most appreciated :)