Jaka jest różnica między buforami protokołów a płaskim buforem?

Odpowiedzi:

126

Napisałem szczegółowe porównanie kilku systemów serializacji, w tym Protobufs i FlatBuffers, tutaj:

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

Jednak porównanie koncentruje się bardziej na porównaniu trzech nowych systemów serializacji „zerowej kopii” i obejmuje Protobufy głównie jako punkt odniesienia. Jestem także autorem Cap'n Proto, a także autorem Protobufs v2 (byłem odpowiedzialny za open sourcing Protobufs w Google), więc porównanie może być stronnicze.

Zwróć uwagę, że Protobufs jest używany we własnych usługach Google, podczas gdy FlatBuffers jest bardziej eksperymentalnym projektem, który, jak rozumiem, nie został szeroko przyjęty wewnętrznie.

Kenton Varda
źródło
Witam panie Varda, bardzo dziękuję za komentarze! Dziękujemy za te bardzo pomocne narzędzia open source! Jako zwykły użytkownik korzystam ze świetnych Protocol Buffersw projektach. Po sprawdzeniu wiadomości na temat FlatBuffersprojektu i w programie Githubstwierdziłem, że jest on eksperymentalny, jak powiedziałeś, i nie jest zbyt gorący, więc przeszukałem również porównanie wydajności między PBi FBi opublikowałem to pytanie. Dziękuję za porównanie! To dużo znaczy! I nie mogę się bardziej zgodzić z benchmarksekcją w Twoim poście the relative performance of these libraries depends deeply on the use case.
wydobycie
8
może nie jest powszechnie przyjęty, ale benchmark wygląda całkiem nieźle. Biblioteka gier open source cocos2d-x teraz z powodzeniem go używa. Myślę, że Flatbuffer przeszedł fazę eksperymentalną
user18853
3
@KentonVarda, czy są jakieś nowe aktualizacje porównań z FlatBuffers od czerwca 2014?
TJR
@TJR: Nie nadążałem za tym. Prawdopodobnie wiele się zmieniło. Z przyjemnością dołączam aktualizacje, jeśli ktoś poinformuje mnie, co powinno zostać zaktualizowane.
Kenton Varda,
11
Zgodnie z tym artykułem Facebook używa flatbufferów w swojej aplikacji na Androida .
Alex Che