我将编写一个基准testing工具来testing磁盘系统的IOPS和带宽的混合,因此我将转向为IO提供文件备份的内存映射。 由于该工具将需要在POSIX和WinNT平台上,我不能只使用普通的旧的映射。 也从我的理解你不得不疯狂的Linux内核整个文件将被访问顺序? 这使我提升内存映射。 在Windows,Linux和Max OS X上使用类似的质量驱动程序的Boost内存映射可能会给类似的硬件带来类似的性能吗? 有没有人testing过跨系统的Boost mmap?
为什么你不基准和发现? 我会怀疑没有性能差异,因为Boost只是提供了一个平台不可知的包装设施。
此外,Windows NT平台提供了一个内存映射工具 – 这不像内存映射是Linux特有的功能。 对于Windows,您需要CreateFile
, CreateFileMapping
和MapViewOfFile
。 Windows库的不同之处在于映射机器的创建与创建映射视图是分开的。 否则,功能是等同的。 哦,就像在POSIX上,你需要清理,在这种情况下,在视图上的UnmapViewOfFile
和在文件映射和文件CloseHandle
上的CloseHandle
。