2024-05-06 07:30:25 发布
网友
背景:我有一个4000万行的巨大数据帧。我必须在某些列上运行一些函数。循环时间太长,所以我决定使用多处理。 CPU:8核16线程 内存:128 GB
问题:我应该将数据分成多少块?对于这个数据集,有多少工人是合适的
另外,我发现当我设置max_workers=15时,所有线程都在100%运行。但是如果我把最高工人数改为40,他们就会下降到40%
谢谢大家!
并行计算有三种类型。这些是io密集型、cpu密集型和io cpu密集型计算。 若您的线程运行在cpu密集型任务上,那个么您可以增加工作线程的数量,以获得更好的性能。 但是如果它是在io密集型上运行的,那么增加它们将没有任何效果
您似乎正在处理io cpu密集型任务。 所以,如果您增加工作人员数量,您可以获得良好的结果,直到没有竞争使用io资源(硬盘) 所以在本地机器中。增加工人人数不是一个好的选择
您可以在GPS或AWS上使用Hadoop进行此项工作
并行计算有三种类型。这些是io密集型、cpu密集型和io cpu密集型计算。 若您的线程运行在cpu密集型任务上,那个么您可以增加工作线程的数量,以获得更好的性能。 但是如果它是在io密集型上运行的,那么增加它们将没有任何效果
您似乎正在处理io cpu密集型任务。 所以,如果您增加工作人员数量,您可以获得良好的结果,直到没有竞争使用io资源(硬盘) 所以在本地机器中。增加工人人数不是一个好的选择
您可以在GPS或AWS上使用Hadoop进行此项工作
相关问题 更多 >
编程相关推荐