Protocol buffers protobuf ShortDebugString()在处理\0(null)时性能不佳

Protocol buffers protobuf ShortDebugString()在处理\0(null)时性能不佳,protocol-buffers,Protocol Buffers,我以以下方式生成了一个文件: dd if=/dev/zero of=20M.file bs=1M count=20 我使用该工具读取文件并将其发送到服务器 服务器使用ShortDebugString()打印消息。然而,我发现这需要很多时间。如果我处理相同大小的正常数据,它会小得多。为什么?这只是猜测,但它是否正在尝试处理2000万个空字符串?假设不是更小数量的非空字符串。处理相同的大小,两者都是20M。如果它们的大小相同,那么假设20MB的非空字符串是更小数量的字符串?我想说的是,执行的总时间

我以以下方式生成了一个文件:

dd if=/dev/zero of=20M.file bs=1M count=20
我使用该工具读取文件并将其发送到服务器


服务器使用ShortDebugString()打印消息。然而,我发现这需要很多时间。如果我处理相同大小的正常数据,它会小得多。为什么?

这只是猜测,但它是否正在尝试处理2000万个空字符串?假设不是更小数量的非空字符串。处理相同的大小,两者都是20M。如果它们的大小相同,那么假设20MB的非空字符串是更小数量的字符串?我想说的是,执行的总时间可能取决于调用ShortDebugString()的次数,而不是消息的大小。20MB消息是一个请求,只调用ShortDebugString()一次。空字符串和非空字符串调用ShortDebugString()的次数相同