昨天我问了一个问题:Reading data in parallel with multiprocess
我得到了很好的答案,并且我实现了我标记为正确的答案中提到的解决方案。
def read_energies(motif):
os.chdir("blabla/working_directory")
complx_ener = pd.DataFrame()
# complex function to fill that dataframe
lig_ener = pd.DataFrame()
# complex function to fill that dataframe
return motif, complx_ener, lig_ener
COMPLEX_ENERGIS = {}
LIGAND_ENERGIES = {}
p = multiprocessing.Pool(processes=CPU)
for x in p.imap_unordered(read_energies, peptide_kd.keys()):
COMPLEX_ENERGIS[x[0]] = x[1]
LIGAND_ENERGIES[x[0]] = x[2]
然而,这个解决方案所需的时间与我遍历peptide_kd.keys()
并逐个填充DataFrames
所需的时间相同。为什么会这样?有没有一种方法可以并行地完成所需的听写,并实际提高速度?我在一个48核的高性能计算机上运行。
目前没有回答
相关问题 更多 >
编程相关推荐