6 pontos por xguru 2020-06-22 | 2 comentários | Compartilhar no WhatsApp
  • 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

 
xguru 2020-06-22

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/

 
xguru 2020-06-22

Um comentário no HN resumiu isso bem, então trouxe aqui: https://news.ycombinator.com/item?id=23588844