gpt4 book ai didi

C# - XML反序列化与二进制反序列化与二进制+Deflate

转载 作者:行者123 更新时间:2023-11-30 14:41:55 26 4
gpt4 key购买 nike

我正在将大量对象保存到一个文件中,然后反序列化它们。生成的 xml 文件大小约为 3 gig。

我希望反序列化非常快,所以我尝试了所有三种方法(xml、二进制、压缩)

显然,反序列化压缩文件比 XML 文件花费的时间长得多。但是我看到二进制反序列化与 xml 反序列化相比也花费了更多时间。那是正常的吗? xml 和二进制文件不应该花费几乎相同的时间来反序列化对象吗?

另外,就文件大小和反序列化速度之间的良好平衡而言,您认为最好的选择是什么?

最佳答案

this performance comparison在 .NET 附带的各种序列化方法(BinaryFormatter、XmlSerializer、DataContractSerializer 等)和 protobuf 之间,protobuf 序列化程序似乎远远领先于 .NET 附带的序列化程序。生成的尺寸似乎也更小。如果 protobuf 格式适合您,我强烈建议您看一下。 :-)

另一个选择:如果反序列化很慢,只反序列化你真正需要的部分。创建一个索引文件,告诉您写入数据文件的对象的偏移量,以便您可以以随机访问方式快速反序列化所需的对象。

关于C# - XML反序列化与二进制反序列化与二进制+Deflate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3551719/

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