6 ポイント 投稿者 xguru 2020-06-22 | 2件のコメント | WhatsAppで共有
  • Googleの高性能シリアライズライブラリ FlatBuffers はスキーマベースで動作するが、

FlexBuffers はスキーマのないデータを保存したいときに使えるように作られた専用フォーマット

  • (当然ながら)型チェックはできないが、パース/コピー/オブジェクト割り当てなしで効率的にアクセス可能

  • コンパクトなエンコーディングを実装しており、ほとんどの場合は通常の FlatBuffers よりも小さいバイナリを生成

→ ただし速度はまだ FlatBuffers より遅い

  • FlatBuffers は Google がゲームや性能が重要なアプリケーション向けに開発したクロスプラットフォームのシリアライズライブラリ。ほとんどの言語をサポート

2件のコメント

 
xguru 2020-06-22

データシリアライゼーションライブラリの分類

  • Schema-ful, copying: Protobuf[1], Thrift[2], Parquet3 ほか多数

  • Schema-ful, zero-copy: Cap'n'proto [4], Flatbuffers[5], Apache Arrow6

  • Schema-less, copying: Json(バイナリおよびその他の派生形を含む), XML

  • Schema-less, zero-copy: Flexbuffers ⇦ NEW!

[1] https://developers.google.com/protocol-buffers

[2] http://thrift.apache.org/

[3] https://parquet.apache.org/

[4] https://capnproto.org/

[5] https://google.github.io/flatbuffers/

[6] https://arrow.apache.org/

 
xguru 2020-06-22

HNのコメントにうまくまとまっていたので、こちらに持ってきました https://news.ycombinator.com/item?id=23588844