当前位置: 首页 > news >正文

【cursor实战】分析python下并行、串行计算性能

提示语

写一个Python并行计算、串行计算性能对比的代码。并行计算要包括多线程和多进程两种,计算的内容要比较复杂

模型

claude-4-sonnet

生成的代码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Python并行计算与串行计算性能对比程序
包含串行计算、多线程和多进程三种实现方式
使用素数计算作为复杂计算任务
"""import time
import threading
import multiprocessing
import math
from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor
import randomtry:import numpy as npHAS_NUMPY = True
except ImportError:HAS_NUMPY = Falseprint("警告: 未安装numpy,将使用替代方案。运行 'pip install numpy' 以获得完整功能。")def is_prime(n):"""判断一个数是否为素数的复杂算法这里使用稍微复杂一点的算法来增加计算复杂度"""if n < 2:return Falseif n == 2:return Trueif n % 2 == 0:return False# 使用更复杂的算法,增加计算负担sqrt_n = int(math.sqrt(n))for i in range(3, sqrt_n + 1, 2):if n % i == 0:return False# 添加一些额外的计算来增加复杂度temp = math.sin(i) * math.cos(i) + math.log(i + 1)if temp < 0:  # 这个条件永远不会满足,只是为了增加计算量continuereturn Truedef complex_calculation(start, end):"""复杂的计算任务:计算指定范围内的素数,并进行额外的数学运算"""primes = []calculations = []for num in range(start, end):if is_prime(num):primes.append(num)# 添加复杂的数学运算calc_result = math.pow(num, 0.5) * math.log(num + 1) + math.sin(num) * math.cos(num)calculations.append(calc_result)# 进行矩阵运算增加复杂度if len(primes) > 1:matrix_size = min(len(primes), 50)  # 限制矩阵大小避免内存问题if HAS_NUMPY:matrix_a = np.random.rand(matrix_size, matrix_size)matrix_b = np.random.rand(matrix_size, matrix_size)matrix_result = np.dot(matrix_a, matrix_b)complexity_factor = np.sum(matrix_result)else:# 不使用numpy的替代矩阵运算matrix_sum = 0for i in range(matrix_size):for j in range(matrix_size):val_a = random.random()val_b = random.random()matrix_sum += val_a * val_b * math.sin(i+j)complexity_factor = matrix_sumelse:complexity_factor = 1return len(primes), sum(calculations
http://www.lqws.cn/news/521767.html

相关文章:

  • <六> k8s + promtail + loki + grafana初探
  • 深度学习入门--(二)感知机
  • 利用代理IP爬取Shopee网页数据
  • C/C++中调用Java实现
  • keil5 cannot copy license file to “Download“ folder
  • 阿里云Web应用防火墙3.0使用CNAME接入传统负载均衡CLB
  • 量学云讲堂王岩江宇龙2025年第58期视频 主课正课系统课+收评
  • 【EDA软件】【应用功能子模块网表提供和加载编译方法】
  • Web层注解
  • 浙大/浙工大合作iMeta(1区 | IF 33.2):单微生物RNA-seq + 聚类解析肠道关键种代谢功能
  • MySQL常用函数性能优化及索引影响分析
  • ES和 Kafka 集群搭建过程中的典型问题、配置规范及最佳实践
  • C++11原子操作:从入门到精通
  • Fisco Bcos学习 - 搭建第一个区块链网络
  • selenium UI自动化元素定位中classname和CSS区别
  • Spring Boot中日志管理与异常处理
  • 【评估指标】MAP@k (目标检测)
  • docker start mysql失败,解决方案
  • 深入理解Redis整数集合(intset)的升级策略:内存优化的核心魔法
  • FPGA笔记——ZYNQ-7020运行PS端的USB 2.0端口作为硬盘
  • 基于大数据的社会治理与决策支持方案PPT(66页)
  • IE浏览器使用
  • 系统思考:预防重于治疗
  • 如何搭建CDN服务器?
  • 将 Docker的存储目录迁移到空间更大的磁盘
  • 搭建自己的WEB应用防火墙
  • mbedtls ssl handshake error,res:-0x2700
  • 数据库数据恢复—SQL Server数据库被加密如何恢复?
  • Fisco Bcos学习 - 搭建星形拓扑组网
  • python基础