1
我的Python代码的功能非常简单。它通过文件列表读取netCDF文件,并在此情况下返回平均值。如何通过多处理(并行处理)加速我的Python代码?
但是,读取netCDF文件需要一些时间。我想知道是否可以通过多处理(并行处理)加速这个过程,因为我的工作站有32核心处理器。
代码如下:
from netCDF4 import Dataset
for i in filerange:
print "Reading the",i, "file", "Wait"
infile_Radar = Dataset(file_list[i],'r')
# Read the hourly Data
Radar_rain=np.array(infile_Radar.variables['rain'][:])
for h in range(0,24):
hourly_rain = Radar_rain[h,:]
hourly_mean[i,h] = np.mean(hourly_rain)
np.savetxt('Hourly_Spatial_mean.txt', hourly_mean, delimiter='\t')
因为读取文件independet给对方,这样怎么能做出最好的我的工作站?谢谢。
线程而不是多处理,似乎更适合IO绑定任务。 –
有很多方法可以分配进程,但是,您必须确保输出不会相互覆盖。 – mootmoot
我没有看到你读取文件的位置。您可以通过将一个数据流上的读取与另一个数据流进行重叠来获得一些改进,但是这种扩展只能达到目前的程度。 – tdelaney