DataRow的字节数有多大

时间:2010-12-21 18:50:21

标签: c#

我有一个使用数据集编写的一次性过程(哈希所有用户密码)。性能需要改进,因此我们对应用程序进行了分析,发现增加更新的“批量大小”将提高性能。我也知道,如果我将整个数据集加载到内存中,应用程序将开始执行交换并减速。

问题是:System.Data.DataRow派生类有多大?我想计算批量大小,我知道这不会强制应用程序进行交换。

1 个答案:

答案 0 :(得分:2)

这取决于你在DataRow中的内容。没有一种简单的,框架范围的方法来获取托管对象的大小,但是如果你知道那里发生了什么,你可以根据组件本身的数据大小做一些相对智能的估计。

DataRow类本身的开销应该比较小 - 如果你看一下属性,它们主要依赖于它内部的Item

再次无法获得托管对象的大小,您可能最好只使用已知大小进行一些测试并基于此进行计算调整。对于这样的事情,你不会得到一个确切的数字,因为你不能完全控制.NET分配器/垃圾收集器在一两个字节内 - 只需计算理论上的确切数量,然后按比例缩小一点点。