Есть ли опыт работы с протоколом буферов? - PullRequest
28 голосов
/ 05 августа 2008

Я только что просматривал информацию о буферах протокола Google формата обмена данными. Кто-нибудь играл с кодом или даже создал проект вокруг него?

В настоящее время я использую XML в проекте Python для структурированного контента, созданного вручную в текстовом редакторе, и мне было интересно, каково общее мнение относительно буферов протокола как формата ввода, ориентированного на пользователя. Преимущества в скорости и краткости определенно присутствуют, но существует очень много факторов, когда речь идет о создании и обработке данных.

Ответы [ 4 ]

11 голосов
/ 08 августа 2008

Буферы протокола предназначены для оптимизации связи между машинами. Они действительно не предназначены для человеческого взаимодействия. Кроме того, формат является двоичным, поэтому он не может заменить XML в этом случае использования.

Я бы также рекомендовал JSON как наиболее компактный текстовый формат.

11 голосов
/ 05 августа 2008

Если вы ищете взаимодействие с пользователем, придерживайтесь xml. В настоящее время у него больше поддержки, понимания и всеобщего признания. Если он внутренний, я бы сказал, что буферы протокола - отличная идея.

Возможно, через несколько лет, когда появится больше инструментов для поддержки протокольных буферов, начните искать подходящие API-интерфейсы. До тех пор ... JSON ?

3 голосов
/ 13 сентября 2009

Еще один недостаток двоичного формата, такого как PB, заключается в том, что при наличии одного бита ошибки весь файл данных обрабатывается не синтаксически, а с помощью JSON или XML, в качестве последнего средства вы все равно можете вручную исправить ошибку, потому что это человеческая ошибка. читаемый и имеет встроенную избыточность ..

3 голосов
/ 23 сентября 2008

Из вашего краткого описания кажется, что буферы протокола не подходят. Фраза «структурированный контент, созданный вручную в текстовом редакторе» в значительной степени кричит о XML.

Но если вам нужна эффективная связь с малой задержкой со структурами данных, которые не используются за пределами вашей организации, двоичная сериализация, такая как буферы протокола, может дать огромный выигрыш.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...