Ambos são bibliotecas de serialização e são desenvolvidos por desenvolvedores do Google. Existe alguma grande diferença entre eles? É muito trabalhoso converter código usando Buffers de protocolo para usar FlatBuffers ?
Ambos são bibliotecas de serialização e são desenvolvidos por desenvolvedores do Google. Existe alguma grande diferença entre eles? É muito trabalhoso converter código usando Buffers de protocolo para usar FlatBuffers ?
Respostas:
Eu escrevi uma comparação detalhada de alguns sistemas de serialização, incluindo Protobufs e FlatBuffers, aqui:
https://kentonv.github.io/capnproto/news/2014-06-17-capnproto-flatbuffers-sbe.html
No entanto, a comparação se concentra mais em comparar os três novos sistemas de serialização de "cópia zero" e inclui Protobufs principalmente como ponto de referência. Além disso, sou o autor de Cap'n Proto e também o autor de Protobufs v2 (fui responsável pelo código aberto de Protobufs no Google), então a comparação pode ser tendenciosa.
Observe que Protobufs é usado em todos os próprios serviços do Google, enquanto FlatBuffers é mais um projeto experimental que, pelo que entendi, não foi amplamente adotado internamente.
Protocol Buffers
nos projetos. Depois de verificar as novidades sobreFlatBuffers
o projeto emGithub
, achei que é experimental como você disse e não é muito quente, então também pesquisei a comparação de desempenho entre oPB
eFB
e postei esta pergunta. Obrigado pela comparação! Significa muito! E não posso concordar mais com abenchmark
seção em sua postagemthe relative performance of these libraries depends deeply on the use case
.