首页 > 编程语言 >python并行计算demo,用于求0~n之间的素数之和

python并行计算demo,用于求0~n之间的素数之和

时间:2023-03-16 18:13:23浏览次数:39  
标签:python demo 素数 并行计算 之间 import

 

想试试服务器的并行计算能力,就让cpu慢慢计算,计算0~n之间所有素数之和

设置target为结尾,num_of_processors为进程数,即可开始跑

如下所示

from multiprocessing import Pool
import math 
import numpy
import time 

def isPrime(n): 
    if n <= 1: 
        return False
    for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
            return False
    return True

def f(data):
    start,end = data
    result = 0
    for n in range(start,end+1):
        if isPrime(n):
           result += n
    return result

def main():
    num_of_processors = 12
    target = 10000000
    data = numpy.linspace(0, target, num_of_processors+1).astype(int)
    start_time = time.time()
    pool = Pool(num_of_processors)
    result = pool.map(f, list(zip(data[:-1],data[1:])) )
    pool.close()
    pool.join()
    print("总耗时",time.time() - start_time)
    print(f"0~{target}的素数之和:",sum(result))
    
if __name__ == "__main__":
   main()

 

 

结果:

 

标签:python,demo,素数,并行计算,之间,import
From: https://www.cnblogs.com/youmuchen/p/17223698.html

相关文章

  • 通过Python+CRemoteAPI控制Trace32进行调试
    关键词:Python、CRemoteAPI、Trace32等等。当需要对Trace32调试进行自动化,或者提高效率时,可以通过RemoteControlAPI进行。基本的调试流程如下:Python、C等语言可以通......
  • python 类中的属性排序
    可以使用Python中的类(class)来定义一个包含姓名和年龄的类。以下是一个示例代码:classPerson:def__init__(self,name,age):self.name=namese......
  • python文件目录下的 __init__.py 文件说明(转摘)
    1、python中的项目结构是按照目录来组织的,每个python文件就是一个模块,将模块整合在一起就是包,也就是把服务于某个功能的一系列模块放在一个目录中,这样如果想要使用某个包......
  • 【python】combinations函数遍历列表内元素不同组合
    在参数调优的过程中,不同个体数的样本组合需要计算,但是一个一个用for来穷尽组合的可能显得太过笨拙,查到可以用itertools中的combinations模块来处理类似的问题:fromiterto......
  • python中的typing库
    typing的主要作用有:类型检查,防止运行时出现参数、返回值类型不符作为开发文档附加说明,方便使用者调用时传入和返回参数类型模块加入不会影响程序的运行不会报正式的错......
  • 20230314-python-字典与json
    1.字典的定义                      ......
  • 小白也能学会的精简版GA遗传算法(Python)
    今天无意中看到了一篇讲遗传算法的文章,文章内容很短,大部分都是代码,代码跟平时见到的遗传算法不同之所以要拿这篇文章来讲,主要是因为原文没有对代码进行解释,但是,这段......
  • python datetime模块常用功能
    时间的转换:时间戳转日期(datetime.date.fromtimestamp(1234567896)),返回日期年-月-日时间戳转年月日时分秒(datetime.datetime.fromtimestamp(123456789......
  • python 雪花算法demo
    importtimeimportloggingclassInvalidSystemClock(Exception):"""时钟回拨异常"""pass#64位ID的划分WORKER_ID_BITS=5DATACENTER_ID_B......
  • python工程打包成可执行文件
    1、将python打包成exe的方式python上常见的打包方式目是通过pyinstaller来实现的。pipinstallpyinstaller或者用镜像下载:#清华源pipinstallpyinstaller-i......