C++:查找内存映射文件的瓶颈
C++: Find bottleneck with memory mapped files
我有一个内存映射的文件,我使用MemCpy从中获取数据。有时它闪电般快,有时出奇地慢。例如:一次0.15毫秒,然后同样的操作6秒。
我不确定瓶颈在哪里或如何解决它。
因此,我认为我需要做一些相当"深入"的分析,以找出究竟是什么使MemCpy操作有时如此缓慢。
有人可以建议我应该怎么做来跟踪问题吗?
我想你可能想使用
-
虚拟锁
将进程虚拟地址空间的指定区域锁定到物理内存中,确保对该区域的后续访问不会招致页面错误。
-
虚拟解锁
有一个背景页面使用页面,其中列出并描述了更相关的 API 调用。
相关文章:
- GCC链接器 - 将存档中的所有对象文件映射到特定部分
- 为什么我无法使用文本文件创建文件映射?
- 如何通过文件映射对象重新映射共享内存的视图?
- 共享数据文件映射
- 频繁访问文件映射内存
- 如何在Windows和更高版本上保留内存,并将文件映射到内存中
- 文件映射对象和文件对象可以互换使用吗
- 如何在C++中创建文件映射
- 使用文件映射从文件中读取数据
- 打开文件映射问题,找不到文件映射
- 将几个大文件映射到内存
- 文件映射和文件结构
- Windows CreateFileMapping:具有相同支持文件的不同文件映射对象
- 文件映射IPC挂起MapViewOfFile调用
- 使用C++中的文件映射对象进行读取
- 如何正确使用文件映射并将数据传递给子进程
- 文件映射打开(Windows)
- 循环文件映射会降低性能
- 内存映射文件-映射结构而不是文件
- 将一个文件映射到内存,然后获取到该内存的文件描述符