gpt4 book ai didi

c# - 对象大小估计的序列化是否可靠?

转载 作者:行者123 更新时间:2023-11-30 22:50:05 26 4
gpt4 key购买 nike

我使用序列化来估计用于对象的内存量。我已经读过 this , 和 this .所以我知道使用分析器或 sizeof(对于值类型)可能会更好。

我想知道,序列化后的对象和内存中的对象到底有什么区别?在什么情况下序列化对于对象大小估计是可靠的?

我对 C# 序列化机制特别感兴趣。

最佳答案

数据的序列化形式与内存中的不同;例如,集合/字典将涉及项目、数组、散列桶/索引等的多个对象 - 但原始数据(序列化时)通常只是数据 - 所以你序列化时可能会看到较少的体积。

同样,BinaryFormatter 之类的东西必须包含很多(冗长的)类型元数据——但在对象中,它在对象句柄中只有一个(简洁的)类型句柄——所以你可能会看到 < em>more 序列化数据中的数据。同样,序列化程序(除非它是手动优化的)需要标记各个字段 - 但在内存中,这隐含在对象地址的偏移量中。

所以您可能会从序列化中得到一个号码,但它不是相同号码。

要准确了解对象图的大小是很棘手的。 SOS 可能会有所帮助;否则,创建一个完整的卸荷并分开。粗糙,但它可能会起作用。

关于c# - 对象大小估计的序列化是否可靠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/760230/

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