<story><title>Karmem: A fast binary serialization format faster than Google Flatbuffers</title><url>https://github.com/inkeliz/karmem</url></story><parent_chain></parent_chain><comment><author>jeroenhd</author><text>Looking at the source code, this seems to work by generating dedicated parser code for a yiven definition which will copy values in a certain order through a flat copy.&lt;p&gt;I&amp;#x27;m seeing little specifications or conversions regarding endianness so I&amp;#x27;m guessing that&amp;#x27;s out of scope for this project. It seems almost completely backwards incompatible and I&amp;#x27;m not too sure about their security validations. I don&amp;#x27;t think this and Flatbuffers are competing in the same space, really.&lt;p&gt;I definitely believe this is fast, it&amp;#x27;s as close to a memcpy to a network packet as you can get. I&amp;#x27;d be wary to use this on external data in any native language without any kind of fuzzing first.&lt;p&gt;That said, I do like the way the generators work.</text></comment>
<story><title>Karmem: A fast binary serialization format faster than Google Flatbuffers</title><url>https://github.com/inkeliz/karmem</url></story><parent_chain></parent_chain><comment><author>judofyr</author><text>&amp;gt; Karmem has proven to be ten times faster than Google Flatbuffers&lt;p&gt;I’d recommend not using the word “proven” here. In computer science this word typically refers to a mathematical proof. In this case it seems that you ran a regular benchmark for some schemas.&lt;p&gt;I’d also like to see more what the benchmark actually &lt;i&gt;does&lt;/i&gt;. A typical trade-off of these formats is how much you do up-front vs on-demand. E.g. accessing fields after multiple variable-length field: Here it’s possible during “decoding” to make sure all fields can be accessed in O(1), or you can do nothing and then every time you access a field you compute the field location. Whether the benchmark accesses the field once or ten times will make a huge difference.&lt;p&gt;In general: If you’re just telling me that it’s 10 times faster without explaining &lt;i&gt;why&lt;/i&gt; I will be skeptical.</text></comment>