Mar*_*ell 11 performance file ramdisk
我创建的python程序是IO有界的.大多数时间(超过90%)花费在单个循环中,重复约10,000次.在这个循环中,生成~100KB的数据并写入临时文件; 然后由另一个程序读回,并收集有关所收集数据的统计数据.这是将数据传递到第二个程序的唯一方法.
由于这是主要的瓶颈,我认为将临时文件的位置从我的主硬盘移动到(~40MB)RAMdisk(超过2GB的可用RAM内)将大大提高该文件的IO速度,从而减少运行时.但是,我获得了以下结果(每次平均超过20次运行):
看起来RAMdisk比我的HDD慢.
可能是什么导致了这个?
有没有其他替代方法使用RAMdisk以获得更快的文件IO?
小智 4
您的操作系统几乎肯定已经缓冲/缓存磁盘写入。RAM 磁盘的性能如此接近也就不足为奇了。
在不确切知道您在写什么或如何写的情况下,我们只能提供一般性建议。一些想法:
如果您有 2 GB RAM,那么您可能拥有一个不错的处理器,因此您可以将此数据写入具有压缩功能的文件系统。这将以 I/O 操作换取 CPU 时间(假设您的数据适合这样做)。
如果您正在写很多小文章,请将它们组合起来一次写出更大的文章。(可以看看源代码吗?)
使用后是否删除 100 KB 文件?如果您不需要它,请删除它。否则操作系统可能会被迫将其刷新到磁盘。