我创建的一个 python 程序是 IO 有界的。大部分时间(超过 90%)都花在一个重复约 10,000 次的循环中。在这个循环中,大约 100KB 的数据被生成并写入一个临时文件;然后它被另一个程序读回并收集有关该数据的统计信息。这是将数据传递到第二个程序的唯一方法。
由于这是主要瓶颈,我认为将临时文件的位置从我的主 HDD 移动到(~40MB)RAMdisk(在超过 2GB 的可用 RAM 内)将大大提高该文件的 IO 速度,从而减少运行时。但是,我得到了以下结果(每个结果平均超过 20 次):
- 测试数据1:无RAMdisk - 72.7s,有RAMdisk - 78.6s
- 测试数据2:无RAMdisk - 223.0s,有RAMdisk - 235.1s
看起来 RAMdisk 比我的 HDD 慢。
这可能是什么原因造成的?
除了使用 RAMdisk 来获得更快的文件 IO,还有其他替代方法吗?