我要做一个昂贵的计算来拟合一些实验数据。拟合函数是本征模的和,每个本征模包含一个特定的表面积分。因为它是相当慢的,如果你做它的经典方式,我认为它线程。我用的是python
我要计算的函数是
def fit_func(params , Mmin, Mmax):
values = np.zeros(1000)
for m in range(Mmin, Mmax):
# Fancy Calculation for each mode
# some calulation with all modes, adding them up 'values'
return values
我怎么把它分开?我做了一些类似
^{pr2}$但是data1和data2的和与fitfunc(params,0,25)不同。。。在
使用多处理池
试试
multiprocessing
。这将使用类似线程的接口有效地创建单独的Python进程。但是,请确保您分析了您的计算,并确保它是问题所在,而不是IO之类的其他东西。启动过程非常缓慢,因此如果您打算使用它们,请将它们保留一段时间。在您也可以将
numpy
用于这些函数。它们是用C代码写的,所以很快就变傻了。看看他们两个,看看什么最适合。我会自己去找numpy
的解决方案。。。在相关问题 更多 >
编程相关推荐