msgpackとCRC
Githubのpull request。
msgpackにCRCを追加して、パケット解釈を高速化するという提案。曰く:
まぁ個人的にはfrsyuki先生と同じ意見で、0xc6をリザーブするのはともかく、メッセージフォーマットにCRCを含めるのはどうかと思う。
で、重要なのは、このようなテクニックで高速化しないといけない実装があるというポイントで、msgpackのような再帰的なストリームフォーマットではこの手の実装が出てきてしまうのは避けられないように思える。(msgpackはJSON互換のバイナリフォーマットなので、Arrayを入れ子にすることなどができてしまう。)
msgpackのライブラリやnmoshの実装はストリームパーサなので、1バイトづつデコードしながらデコードが完了するタイミングでコールバックすることができる。逆に言えばこの手のストリームパーサを実装できない言語や環境だと非常に悲しい結果になってしまう。