Advertisement

关于FM与F + cache的IO性能比较

阅读量:

最近在看Windows核心编程17章

建议采用FileMapping方法进行大文件读写。虽然如此可以直接将文件映射到进程地址空间,并由操作系统负责替页、换页等复杂操作。只需将文件视为内存地址进行操作即可。

可是笔者意识到这可能相对于编码来说还是比较简单的,并不意味着将缓存这些都交给操作系统来处理就是一种明智的做法。尤其是在处理大规模的文件IO操作时。于是笔者对原书上那个具体的例子进行了详细的对比分析,并给出了具体说明以便更好地理解这一概念差异所在。首先是经过修改后的新代码实现,在这里我们采用了更简洁明了的方式完成了同样的功能目标;而新代码同样保留了原有逻辑的核心部分,并且通过优化提升了运行效率和资源利用率。

完整代码:

复制代码
 #define _CRT_SECURE_NO_WARNINGS

    
 #include <stdio.h>
    
 #include <tchar.h>
    
 #include <windows.h>
    
 #include <iostream>
    
  
    
  
    
 //
    
 class CStopwatch {
    
 public:
    
 	CStopwatch() { QueryPerformanceFrequency(&m_liPerfFreq); Start(); }

全部评论 (0)

还没有任何评论哟~