Using TCompactProtocol instead of TBinaryProtocol on Thrift serialization because it is more compact.