gpt4 book ai didi

serialization - 如何使用protobuf序列化大型嵌套数组?

转载 作者:行者123 更新时间:2023-12-04 19:14:49 27 4
gpt4 key购买 nike

我正在使用 protobuf-net 进行二进制序列化。我在序列化 A 类时 gettig OutOfMemory。同一个对象用 BinaryFormatter 很好地序列化。

下面是类示例:

[ProtoContract]
class A:
[ProtoMember(1, DataFormat = DataFormat.Group)]
B[] Array1 {get; set;}
....

class B:
[ProtoMember(1)]
string Field1 {get; set;}

[ProtoMember(2)]
string Field1 {get; set;}

[ProtoMember(3, DataFormat = DataFormat.Group)]
C[] Array2 {get; set;} // 20000 elements
....

class C:
[ProtoMember(1)]
string Field1 {get; set;}

[ProtoMember(2)]
string Field1 {get; set;}

最佳答案

哇。简直哇。感谢您提出这个问题。有一个小故障,即在某些情况下错误地未应用组编码,包括您的情况。对于 protobuf-net,这不是什么大问题,因为 group 和 string 可以互换处理,但这仍然是一个令人尴尬的小故障,尤其是因为“group”是(正如您正确使用的那样)使事情向前发展的关键-仅用于序列化大图。

我已经在本地和源代码中修复了这个问题 - 但是,我想在正式发布之前进行更多的稳定性测试。如果您乐于从源代码构建,它现在应该可以正常工作 - 或者如果您愿意,我可以通过电子邮件向您发送 dll。

关于serialization - 如何使用protobuf序列化大型嵌套数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10930209/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com