Beide sind Serialisierungsbibliotheken und werden von Google-Entwicklern entwickelt. Gibt es einen großen Unterschied zwischen ihnen? Ist es eine Menge Arbeit, Code mithilfe von Protokollpuffern in FlatBuffer zu konvertieren ?
Beide sind Serialisierungsbibliotheken und werden von Google-Entwicklern entwickelt. Gibt es einen großen Unterschied zwischen ihnen? Ist es eine Menge Arbeit, Code mithilfe von Protokollpuffern in FlatBuffer zu konvertieren ?
Antworten:
Ich habe hier einen detaillierten Vergleich einiger Serialisierungssysteme, einschließlich Protobufs und FlatBuffers, geschrieben:
https://kentonv.github.io/capnproto/news/2014-06-17-capnproto-flatbuffers-sbe.html
Der Vergleich konzentriert sich jedoch mehr auf den Vergleich der drei neuen "Zero-Copy" -Serialisierungssysteme und umfasst Protobufs hauptsächlich als Referenzpunkt. Außerdem bin ich der Autor von Cap'n Proto und auch der Autor von Protobufs v2 (ich war bei Google für Open-Sourcing-Protobufs verantwortlich), sodass der Vergleich möglicherweise voreingenommen ist.
Beachten Sie, dass Protobufs in allen Google-eigenen Diensten verwendet wird, während FlatBuffers eher ein experimentelles Projekt ist, das meines Wissens intern nicht weit verbreitet ist.
Protocol Buffers
in den Projekten. Nachdem ich die Nachrichten überFlatBuffers
und das Projekt eingecheckt hatteGithub
, stellte ich fest, dass es, wie Sie sagten, experimentell und nicht sehr heiß ist. Daher habe ich auch den Leistungsvergleich zwischenPB
und durchsuchtFB
und diese Frage gestellt. Danke für den Vergleich! Das bedeutet viel! Und ich kann dembenchmark
Abschnitt in Ihrem Beitrag nicht mehr zustimmenthe relative performance of these libraries depends deeply on the use case
.