【发布时间】:2010-09-25 12:44:05
【问题描述】:
我有一个 1GB 的文件,其中包含字符串和长字符串对。 将它读入字典的最佳方法是什么?您说它需要多少内存?
文件有 6200 万行。 我已经设法使用 5.5GB 的内存来读取它。
假设每个字典条目有 22 个字节的开销,即 1.5GB。 long 是 8 个字节,即 500MB。 平均字符串长度为 15 个字符,每个字符 2 个字节,即 2GB。 总共大约 4GB,多出来的 1.5GB 去哪儿了?
初始字典分配需要 256MB。 我注意到我每读取 1000 万行,消耗大约 580MB,这与上面的计算非常吻合,但是在第 6000 行左右,内存使用量从 260MB 增长到 1.7GB,这是我缺少的 1.5GB,它在哪里去吗?
谢谢。
【问题讨论】:
标签: c# performance memory file filesystems