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

时间:2009-12-14 21:03:40

标签: java performance protocol-buffers

在使用getSerializedSize()序列化邮件之前,是否会对GPB邮件上的writeTo(OutputStream)进行性能惩罚?

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

我在Java上使用GPB。

1 个答案:

答案 0 :(得分:8)

没有性能损失。来自Protobuf邮件列表中this thread的第二条消息:

  

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