我在写一个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