您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python mmap-缓慢访问文件结尾(带有测试代码)

Python mmap-缓慢访问文件结尾(带有测试代码)

为了确定您是否获得了足够的性能,请检查缓冲区/页面缓存可用的内存(free在Linux中),I / O统计信息- 读取次数,读取大小和持续时间(iostat与硬件规格进行比较;以及您的进程的cpu利用率。

[edit]假设您从本地连接的SSD读取(高速缓存中没有所需的数据):

[/编辑]

一个示例仅访问3 * 100KB的文件数据,因此,由于您拥有的缓存数量远远超过了缓存的可用容量,所有300KB的内容很快就会进入缓存,因此您将看不到I / O,并且您的python进程将受cpu限制。

我有99.99%的把握,如果您测试从每个文件的最后100KB读取数据,它的性能将与第一个示例一样好-这与数据的位置无关,而与访问的数据大小有关。

第二个示例访问9GB中的随机部分,因此,仅当您有足够的可用RAM来缓存所有9GB内存时,并且仅在将文件预加载到缓存中之后,才能使测试用例以零I运行,您可以希望看到类似的性能。 / O。

在实际情况下,文件不会完全位于缓存中-因此您会看到许多I / O请求以及python的cpu利用率低得多。由于I / O比缓存访问要慢得多,因此您应该期望本示例的运行速度较慢。

python 2022/1/1 18:27:31 有298人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶