FlexBuffers - formato sem schema com suporte do FlatBuffers
(google.github.io)- A biblioteca de serialização de alto desempenho do Google, FlatBuffers, funciona com base em schema,
e o FlexBuffers é um formato dedicado criado para uso quando se deseja armazenar dados sem schema
-
(Naturalmente) não é possível fazer verificação de tipos, mas é possível acessar os dados de forma eficiente sem parsing/cópia/alocação de objetos
-
Implementa uma codificação compacta, gerando na maioria dos casos binários menores do que o FlatBuffers comum
→ ainda é mais lento que o FlatBuffers
- FlatBuffers é uma biblioteca de serialização multiplataforma desenvolvida pelo Google para jogos ou aplicações em que desempenho é importante. Suporta a maioria das linguagens
2 comentários
Classificação das bibliotecas de serialização de dados
Com schema, com cópia: Protobuf[1], Thrift[2], Parquet[3] (baseado em Thrift) e vários outros
Com schema, zero-copy: Cap'n'proto [4], Flatbuffers[5], Apache Arrow[6] (baseado em Flatbuffers)
Sem schema, com cópia: Json (incluindo versões binárias e outras variações), XML
Sem schema, zero-copy: Flexbuffers ⇦ NOVO!
[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/
Um comentário no HN resumiu isso bem, então trouxe aqui: https://news.ycombinator.com/item?id=23588844