web-dev-qa-db-fra.com

Quelle est la différence entre les tampons de protocole et les tampons plats?

Les deux sont une bibliothèque de sérialisation et sont développés par les développeurs de Google. Y a-t-il une grande différence entre eux? Est-ce un travail difficile que de transférer le code de Protocol Buffers à FlatBuffers ?

97
mining

J'ai écrit une comparaison détaillée de quelques systèmes de sérialisation, notamment Protobufs et FlatBuffers, ici:

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

Cependant, la comparaison se concentre davantage sur la comparaison des trois nouveaux systèmes de sérialisation "sans copie" et inclut les Protobufs principalement comme point de référence. De plus, je suis l'auteur de Cap'n Proto, et également celui de Protobufs v2 (j'étais responsable de l'open source Protobufs chez Google), de sorte que la comparaison peut être biaisée.

Notez que Protobufs est utilisé dans les services propres de Google, tandis que FlatBuffers est davantage un projet expérimental qui, à ma connaissance, n’a pas été largement adopté en interne.

110
Kenton Varda