protocol-buffers flatbuffers

¿Cuál es la diferencia entre Protocol Buffers y Flatbuffers?



protocol-buffers (1)

Ambas son bibliotecas de serialización y están desarrolladas por los desarrolladores de Google. ¿Hay alguna gran diferencia entre ellos? ¿Es un trabajo duro transferir código de Buffers de Protocolo a FlatBuffers ?


Escribí una comparación detallada de algunos sistemas de serialización, incluidos Protobufs y FlatBuffers, aquí:

https://kentonv.github.io/capnproto/news/2014-06-17-capnproto-flatbuffers-sbe.html

Sin embargo, la comparación se centra más en la comparación de los tres nuevos sistemas de serialización de "copia cero" e incluye principalmente a Protobufs como punto de referencia. Además, soy el autor de Cap''n Proto, y también el autor de Protobufs v2 (fui responsable de la apertura de Protobufs en Google), por lo que la comparación puede ser parcial.

Tenga en cuenta que Protobufs se utiliza en todos los servicios de Google, mientras que FlatBuffers es más un proyecto experimental que, como yo lo entiendo, no ha sido ampliamente adoptado internamente.