2008-08-05 23 views
28

Właśnie przeglądałem informacje na temat formatu wymiany danych Google protocol buffers. Czy ktoś bawił się z kodem, a nawet tworzył wokół niego projekt?Jakieś doświadczenia z buforami protokołów?

Obecnie używam XML w projekcie Pythona dla treści strukturalnych tworzonych ręcznie w edytorze tekstu, a ja zastanawiałem się, jaka była ogólna opinia na temat buforów protokołów jako formatu wejściowego skierowanego do użytkownika. Korzyści z szybkości i zwięzłości z pewnością wydają się tam być, ale jest tak wiele czynników, jeśli chodzi o faktyczne generowanie i przetwarzanie danych.

Odpowiedz

11

Jeśli szukasz interakcji użytkownika, trzymaj się xml. Ma więcej wsparcia, zrozumienia i ogólnej akceptacji. Jeśli jest to wewnętrzne, powiedziałbym, że bufory protokołów to świetny pomysł.

Może za kilka lat, gdy pojawi się więcej narzędzi do obsługi buforów protokołów, zacznij szukać tego dla publicznego interfejsu API. Do tego czasu ... JSON?

11

Bufory protokołów mają na celu optymalizację komunikacji między maszynami. W rzeczywistości nie są przeznaczone do interakcji z ludźmi. Ponadto format jest binarny, więc nie może zastąpić XML w tym przypadku użycia.

Polecam również JSON jako najbardziej kompaktowy format tekstowy.

3

Z tego krótkiego opisu wynika, że ​​bufory protokołów nie pasują do siebie. Wyrażenie "treści strukturalne tworzone ręcznie w edytorze tekstu" niemalże krzyczy o XML.

Ale jeśli chcesz wydajnej komunikacji o małym opóźnieniu ze strukturami danych, które nie są udostępniane poza organizacją, serializacja binarna, taka jak bufory protokołów, może zaoferować ogromną wygraną.

3

Inną wadą formatu binarnego, takiego jak PB, jest to, że jeśli występuje pojedynczy błąd, cały plik danych nie jest parsable, ale z JSON lub XML, w ostateczności nadal można ręcznie naprawić błąd, ponieważ jest czytelny dla człowieka i ma wbudowaną redundancję.

+0

o czym ty mówisz? Mam dużo odznak i głosów z innymi wpisami na vtd-xml ... jeśli są to spams, użytkownicy mogą głosować, nie otrzymałem ani jednego negatywnego głosu ... problem polega na tym, że podejmujesz decyzje dla tych ludzie jeszcze nie rozumieją treści postów –