Dictionary使用中的疑惑!!

hadoopstudy 2007-08-15 05:50:51
在使用Dictionary泛型类时我定义的结构是Dictionary<int, object> list = new
Dictionary<int, object> ();
我测试存放了1000万条记录
存储只存储了<int,null> 即object存储为空

在检索速度上基本能满足要求,出现的问题是占用内存比较大。

而按对对象占用内存计算应该不会太大。
我的计算方式是:10000000*4字节(int32长度)=大概40M+
而运行过程中从任务管理器看到占用内存160+M。
这个内存是从那里产生的呢?
...全文
291 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hadoopstudy 2007-08-17
  • 打赏
  • 举报
回复
这两天没测试这个程序。
通过上面大家回复,有一点体会。。.{-_-}..在对字典中添加一个Key,本身产生的对象应该是内存变大的一个重要因素。
例如
字典
List
list add(key,value) key=4byte value=0byte Key,value 集合对象自身的开销比较大。
为了内存小点,测试其他方式.
wdzr_826 2007-08-15
  • 打赏
  • 举报
回复
.net有很多你想不到的东西占用内存
北京的雾霾天 2007-08-15
  • 打赏
  • 举报
回复
自从.net出现,内存的使用就管不了了。。。
  • 打赏
  • 举报
回复
1000千万不多..加多100陪试试..
eRayJiang 2007-08-15
  • 打赏
  • 举报
回复
160M不算大吧,试着放点别的进去,可以测试出开销的
vrhero 2007-08-15
  • 打赏
  • 举报
回复
Dictionary 对象本身不占用内存吗?异想天开...

Dictionary 对象要维护 Dictionary.KeyCollection 和 Dictionary.ValueCollection 两个列表...不要内存吗?

去超市看看...容器也是有体积和重量的...
foyuan 2007-08-15
  • 打赏
  • 举报
回复
可能在范型Dictionary中添加了别的处理 所以增加了内存
cantops 2007-08-15
  • 打赏
  • 举报
回复
其他开销吧?
最好用别的方法来测试。看任务管理器不准

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧