I'm wondering if anyone has/had experience with switching from
TBinaryProtocol to TCompactProtocol in your production environment, either
good or bad ones (maybe you encountered problems and had to switch back,
I'd like to hear your story).

We recently noticed that for the same structs, using TSerializer with
TCompactProtocol would save roughly 25~30% in size compared to using
TBinaryProtocol. We also did some benchmark tests which show that there's
no noticeable performance hit for both go and python's implementations.
We've been running https://github.com/apache/thrift/pull/2239 in our
staging environment experimenting THeader+TCompact over the default
THeader+TBinary, and the results so far look good. We are gonna do some
production experiments soon as well after that is merged.

But if anyone has done that before, I'd like to hear from you! :)

Reply via email to