协议缓冲区中getSerializedSize()的性能损失

Ell*_*gas 6 java performance protocol-buffers

getSerializedSize()在序列化消息之前调用GPB消息是否会降低性能writeTo(OutputStream)

在将消息写入输出流之前,我需要能够知道消息的大小.

我在Java上使用GPB.

ire*_*ses 8

没有性能损失.从Protobuf邮件列表中此线程的第二条消息:

您可以调用getSerializedSize()来提前查找消息大小.请注意,调用它实际上并不会浪费任何时间,因为结果是缓存的,并且无论如何都必须在序列化期间调用它.