我在寫一個Python腳本(in Python 2.7
)其中我需要在一個範圍內生成大約500,000個統一的隨機數。我需要這樣做4次,對它們進行一些計算並寫出4個文件。python中的多重處理
目前我做的:(this is just part of my for loop, not the entire code)
random_RA = []
for i in xrange(500000):
random_RA.append(np.random.uniform(6.061,6.505)) # FINAL RANDOM RA
random_dec = []
for i in xrange(500000):
random_dec.append(np.random.uniform(min(data_dec_1),max(data_dec_1))) # FINAL RANDOM 'dec'
生成範圍內的隨機數。我正在運行Ubuntu 14.04
當我運行程序時,我也打開我的系統管理器,看看我的8個CPU是如何工作的。我似乎注意到,當程序運行時,8個CPU中只有1個似乎以100%的效率工作。所以整個程序需要大約45分鐘才能完成。
我注意到,它可以使用所有的CPU我的優勢使用模塊Multiprocessing
我想知道這是不是足夠在我的例子:
random_RA = []
for i in xrange(500000):
multiprocessing.Process()
random_RA.append(np.random.uniform(6.061,6.505)) # FINAL RANDOM RA
即加入只是線路multiprocessing.Process()
,那就夠了嗎?
有你甚至閱讀文件? https://docs.python.org/dev/library/multiprocessing.html –
@AleksanderLidtke我讀過它,我認爲上述可能工作。但在嘗試之前,我想知道它是否會來自專家 – ThePredator
回答你的問題:那肯定會**不夠。 – freakish