<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 6, 2014 at 11:35 PM, Felix Gallo <span dir="ltr"><<a href="mailto:felixgallo@gmail.com" target="_blank">felixgallo@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I live in a world of pain wherein I receive 4K binary blob packets with a tightly packed schema that changes every few weeks.</blockquote>

</div><br>For what it is worth, this is the root cause of the problem. If you have a packet format that changes this often, you are probably better off improving the packet encoding scheme than trying to parse it and adapt. You need a format which has more framing so it can be parsed by recursively stripping off more and more information. That is, you can decode the packet partially and skip sections your parser doesn't understand yet.</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">Also beware coding complexity. If data is never placed at rest on disk, then struggling to compress data with an intricate scheme is not going to buy you anything since there tend to be enough bandwidth for these kind of things. Decoding is going to dwarf everything else[0].</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">I would probably just wait a bit until the format settles and then go implement it there.<br><br clear="all"><div>[0] This describes almost everything that is wrong with JSON.</div>

<div><br></div>-- <br>J.
</div></div>