Протобуфы отправляются как двоичные данные через WebSockets быстрее, чем JSON отправляются как текстовые данные через WebSockets? На бумаге это кажется правдой, даже с учетом небольших накладных расходов, возникающих при обработке байтов с обеих сторон. У кого-нибудь действительно была возможность попробовать это и получить какие-то конкретные результаты? Спасибо!
Afaik, сообщения protobuf всегда будут занимать меньше места, чем их эквивалент JSON (возможно, за исключением таких вещей, как некоторые числовые литералы и т. д.), Поэтому их отправка всегда будет быстрее. Другой вопрос, сколько времени нужно на их кодирование / декодирование.

Итак, я сделал небольшой проект для исследования этого и получил некоторые результаты. Вы можете найти проект здесь, вы можете найти больше информации в ПРОЧТИ МЕНЯ и в пакете results.
Чтобы ответить на вопрос; ДА, буферы протокола работают быстрее, чем JSON, более 100_000 сообщений, отправленных как пинг-понг (без обработки, кроме маршалинга и демаршалинга). Но разница не такая заметная, как я ожидал.
на этот вопрос невозможно задать / ответить без конкретики; например, для многих "небольших" сообщений: это не имеет значения - ключевым фактором производительности будет производительность сети, и в любом случае это будет один пакет данных; да, protobuf будет немного меньше (часто совсем немного), но для многих мелких сообщений это действительно не имеет значения. JSON, очевидно, требует много проще для работы из браузера. Но нет, я никогда не делал тяжелой работы, чтобы доказать это полностью.