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