Я уже давно использую PB, но, судя по всему, Thrift постоянно был в моем сознании.
Основные преимущества бережливости, как я вижу:
- Собственные коллекции (т.е. вектор, множество и т.д.) против ПБ повторяются, обеспечивая функциональность, похожую на, но не совсем похожую (нет итераторов, если вы не вникнете в RepeatedField, который в документации не указывается в большинстве случаев).
- Приличная реализация RPC предоставлена, а не просто перехватывает ваши собственные.
- Более официально поддерживаемые языки (PB предлагает официальную поддержку Java, С++, Python)
Против сундука:
- Реализация RPC означает, что я не могу подключить собственный (например) уровень шифрования/аутентификации сверху.
- Поддержка Windows не кажется отличной.
- PB определенно имеет, если не лучшую, более доступную документацию.
Нейтральные:
- Неизвестный размер .lib/.dll для Windows (Thrift).
- Большой размер .lib для Windows (PB, но он действительно предлагает -lite, который значительно меньше).
- Скорость мудрая, оба они кажутся похожими.
Я не совсем готов принять решение и переключиться на Thrift, может ли кто-нибудь предложить мне больше плюсов/минусов или причин идти так или иначе?
Спасибо!