2GB的mat文件里面是一个大型矩阵?如何获取PCI设备的内存映射基地址对应的线性地址

时间:2018-02-09 20:05:01   浏览:次   点击:次   作者:   来源:   立即下载

不考虑其他因素,单就如何提高大文件的内存加载速度,希望大家给点意见。

压缩磁盘文件。用cpu时间换io时间

mmap和CreateFileMapping只是建立磁盘到内存的映射,映射了不代表已经载入内存,文件内容载入内存不代表在内存里建立了数据结构。除非内存结构直接存入磁盘,否则这类方法对载入速度没有任何帮助

压缩可以减少io时间,换SSD也能减少io时间。解析算法如果可以改成并行的,也可以提升速度。但瓶颈最终还是磁盘io

感觉已经不是软件问题了,应该换高速SSD。现在MATLAB载入的速度是①⓪⓪MB/s,基本上到机械硬盘的最好水平了。在载入时你可以观察①下CPU是否已使用了(①/逻辑核心数)*①⓪⓪%。如果已经到了,应该说基本没有提升的空间了。你换用C++写也不能超越存储设备的物理极限。

PVOID MmMapIoSpace

(

PHYSICAL_ADDRESS PhysicalAddress, //需要映射的物理地址

ULONG NumberOfBytes, //映射的地址长度

BOOLEAN CacheEnable //是否使用cache(驱动中要使用uncached)

);

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息