提高磁盘写入速度

时间:2020-10-12 14:58:05

标签: python performance io

我正在尝试改善程序的磁盘写入能力,但是很难实现。我的磁盘是Samsung EVO 860,写入速度为520MB / s,但是(根据Windows任务管理器)我的速度仅为〜4.4MB / s。阅读了几篇文章之后,我一直在关注NtUserCreateWindowEx方法的buffering关键字;一些测试的示例:

open

据我了解,通过将缓冲区大小增加到合理的水平(此处约为64KB),可以减少写操作,从而减少系统调用。但是我设法在性能上取得了明显的进步。

我还read说,使用# writing a 2GB file of 0's def foo(): start = Timer() # timeit.default_timer as Timer with open(fp, 'wb') as f: # default buffering: 8192 for _ in range(int(2**31)): f.write(b'0') print(Timer() - start) def bar(): start = Timer() # timeit.default_timer as Timer with open(fp, 'wb', buffering=65536) as f: for _ in range(int(2**31)): f.write(b'0') print(Timer() - start) foo() # 501.65 bar() # 498.06 可能会产生很大的收益,但是我还没有给出一个机会。

如何正确使用增加的缓冲区(或mmap)来实现磁盘的最大吞吐量?

0 个答案:

没有答案
相关问题