不影响磁盘读取速率的线程数?

2024-03-29 06:35:48 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中将4个非常大的CSV文件读入数据帧的结果令我目瞪口呆: 我用一个串联的单线程执行读取,即读取第一个CSV,然后读取第二个CSV,等等。它花费了230s

对于4个线程,一个线程读取一个CSV,“并行”需要220秒,对于2个线程需要220秒

我无法解释这一点,因为这表明磁盘读取头的整数数量是没有意义的;如果只有一个磁头,那么2线程和4线程版本的程序都会花费更长的时间,因为当线程切换时,读取磁头会在地址之间不断移动。如果是2个或4个读头,那么两个多线程版本的性能肯定会优于单线程版本


Tags: 文件csv数据程序版本数量时间整数
1条回答
网友
1楼 · 发布于 2024-03-29 06:35:48

对磁盘的访问是由操作系统管理的,因此如果您试图从同一个磁盘并行读取数据,则不会得到真正的改进。我不确定是否有几个读磁头,但如果文件在不同的磁盘中,它会

无论如何,你可以在这里找到更多的信息multithread read from disk

希望这有帮助

相关问题 更多 >