Java 优化google协议缓冲区

Java 优化google协议缓冲区,java,python,protocol-buffers,Java,Python,Protocol Buffers,我对谷歌的协议缓冲区还不熟悉,正在深入了解。我有一个用java序列化的大对象,我正在用python反序列化它。上游告诉我该文件在大约4到5秒内序列化。反序列化需要37秒的时间。除了硬件,为什么它有如此巨大的差异?有没有办法加快反序列化的速度?Java在这方面表现更好吗?我只是获取一个序列化数据文件并使用ParseFromString 谢谢 更新:-所以过了一段时间才回到这里,并尝试使用java反序列化文件。反序列化一个更大的文件(56m)需要4秒钟。现在这解决了我在性能方面的问题,但是,我真的对

我对谷歌的协议缓冲区还不熟悉,正在深入了解。我有一个用java序列化的大对象,我正在用python反序列化它。上游告诉我该文件在大约4到5秒内序列化。反序列化需要37秒的时间。除了硬件,为什么它有如此巨大的差异?有没有办法加快反序列化的速度?Java在这方面表现更好吗?我只是获取一个序列化数据文件并使用ParseFromString

谢谢


更新:-所以过了一段时间才回到这里,并尝试使用java反序列化文件。反序列化一个更大的文件(56m)需要4秒钟。现在这解决了我在性能方面的问题,但是,我真的对python和java之间的巨大差异感到困惑,有什么见解吗

我们可以期待这场精彩的演出

http://kentonv.github.io/capnproto/

不幸的是,与其他语言相比,Python protobuf反序列化的速度非常慢(截至2013年)。

这个模型大概有多大(字节)和复杂(类型数量)?这听起来很长时间…还有:.proto/protocol中的速度与大小设置在这里有什么区别吗?如果您使用的是原语类型的大重复字段,确保设置
packed
选项:
ParseFromString
使其听起来像是在使用protobuf文本格式,而不是更快的字节格式?序列化文件中填充了20mb的复杂重复字段。不幸的是,我不能使用压缩选项,因为最大的字段是复杂的重复字段。至于ParseFromString,还有其他方法可以用python解析数据吗?