在进程间共享大文件时遇到性能问题。所有进程都是x64,我没有任何例外。但是,一旦文件变大,我就注意到MemoryMappedFile.CreateViewAccessor的速度线性地取决于所请求视图的大小。例如。对于我的系统,5GB文件是0.1秒。
当使用本机PInvoked MapViewOfFile时,我没有注意到这种行为,虽然我无法100%确定,因为MapViewOfFile执行速度非常快(5GB时为0.0002秒)。我使用.Net 4.5.1。
有人可以就这个问题说清楚:为什么CreateViewAccessor取决于视图的大小以及为什么它比本机调用慢得多?