1

在可滚动框中显示大型内存映射文件时,让视图代表整个文件还是仅代表当前正在显示的文件区域更合适?
更广泛地说,.Net 的内存映射文件在什么抽象级别进行分页?内存中保存的文件的页面大小/数量与 MemoryMappedViewAccessors 相关,还是独立于这些对象?

4

1 回答 1

2

它是独立的;在访问地址(或附近的地址)之前,数据不会复制到内存中。但是,视图的大小会影响进程的地址空间。这在 32 位系统上非常重要,因为进程地址空间被限制为 2GB 或 3GB。这会影响将来进行分配的能力,因为在地址空间中可能无法获得所需大小的连续块。

使用大视图的能力通常被认为是 64 位系统的主要优势。

于 2009-08-06T02:10:07.760 回答