面向对象编程之Python学习并行计算四

2021/12/4 12:46:51

本文主要是介绍面向对象编程之Python学习并行计算四,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

当前的计算机大多是多内核的CPU,对于一些易并行问题可以使用Python轻松实现并行编程,提高计算速度。

可以如下了解计算机有多少内核:

>>>from multiprocessing import cpu_count

>>>cpu_count()

4

以下是一个使用随机函数计算圆周率的例子:

import random from multiprocessing import Pool from os import getpid from time import time   def length(size):   count=0.0   for i in range(size):     x=random.random()     y=random.random()      if(x*x+y*y<1.0):     count=count+1.0   print('Process {} handling {}'.format(getpid(),size))   print(count*4.0/size)   return count*4/size
pool=Pool(4) #A: pool=Pool(1) t1=time() res=pool.map(length,[100000,100000,100000,100000]) # B:[400000] t2=time() print('Time:={}'.format(t2-t1)) 本机测试中,在4进程下时间是:0.05~0.07,2进程是:0.11~0.13,1进程是:0.20~0.24. 注:程序中A处和B处注意保持一致,即A处进程数多少,B处列表长度相应改变,元素值也相应调整。

 



这篇关于面向对象编程之Python学习并行计算四的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程