内存映射分块,处理大文件效率并没有提高,为何????
本来想用内存映射分块技术处理海量数据的,都说这个有优势
问题描述:
先用内存映射技术处理200M和800M的数据,速度和普通I/O比确实提高了很多,但是处理3G的文件时,效率直线下降.
我的思路是把3G的文件映射分块,内次MapViewOfFile800M,读完后UnmapViewOfFile,然后继续下一块,直到处理完整个文件。
在网上查了资料说是UnmapViewOfFile内存并没有被真实回收,导致内存被占满了,效率下降.
代码和下面这个帖子代码类似,问题也相似,去过我描述的不清楚,可以参考下面这个帖子
http://bbs.csdn.net/topics/390317410?locationNum=13