6 puntos por xguru 2020-06-22 | 2 comentarios | Compartir por WhatsApp
  • FlatBuffers, la librería de serialización de alto rendimiento de Google, funciona con base en schemas,

mientras que FlexBuffers es un formato dedicado creado para usarse cuando se quiere almacenar datos sin schema

  • (Como era de esperarse) no se puede hacer type checking, pero permite acceder de forma eficiente sin parsing/copias/asignación de objetos

  • Implementa una codificación compacta, por lo que en la mayoría de los casos genera binarios más pequeños que FlatBuffers normal

→ aunque por ahora sigue siendo más lento que FlatBuffers

  • FlatBuffers es una librería de serialización multiplataforma desarrollada por Google para juegos o aplicaciones donde el rendimiento es importante. Soporta la mayoría de los lenguajes

2 comentarios

 
xguru 2020-06-22

Clasificación de las bibliotecas de serialización de datos

  • Con esquema, con copia: Protobuf[1], Thrift[2], Parquet[3] (basado en Thrift), entre muchos otros

  • Con esquema, zero-copy: Cap'n'proto [4], Flatbuffers[5], Apache Arrow[6] (basado en Flatbuffers)

  • Sin esquema, con copia: Json (incluyendo binario y otras variantes), XML

  • Sin esquema, zero-copy: Flexbuffers ⇦ ¡NUEVO!

[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

Está bien resumido en los comentarios de HN, así que lo traje aquí: https://news.ycombinator.com/item?id=23588844