aSt*_*eve 15 c++ boost mmap shared-memory
我花了一些时间研究我正在处理的应用程序的内存映射IO.我有一些非常大的(TB级)文件,我想将它们的段映射到内存中,用于读取和写入,最大限度地利用操作系统级缓存.我正在编写的软件需要在Unix/Linux和Windows下运行......性能至关重要.
我发现boost::iostreams::mapped_file_source和boost::iostreams::mapped_file_sink,其提供了大部分我在寻找的设施.我喜欢但尚未找到的设施是:
msync在Unix FlushViewOfFile上为(2); 在Windows上)我可以使用这些东西"boost/iostreams/device/mapped_file.hpp"吗?是否有其他独立于平台的库可以更好地满足我的要求?我必须开发自己的跨平台库才能获得这种灵活性吗?
查看 boost::interprocess 和 boost::interprocess::file_mapping。他们有你需要的一切。