求大佬解决多进程或并行运算问题,提高运行效率,降低耗时
各位大佬好,我有一个字典格式的数据如下a,想运算数值b与a中每个数,demo如下,实际运算规律非常复杂,(非c = b*a,只是举个例子),比较耗时,请问如何并行运算或其他方式提升效率。
我的思路是让b与a中key(1)对应的value、key(2)对应的value、key(3)对应的value同时计算,满足if条件时跳出。请问该如何改进
a = {'1':[1,2,3], '2':[4,5,6],
'3':[7,8,9]}
b = 3
for i in a.keys():
times = 0 #记录每次计算后值的和
for j in a[i]:
c = b * a
times += c
if times >30:
a[i].append(b)
break
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
你期待的结果是什么?实际看到的错误信息又是什么?
回答:
你自己已经猜测到了并行的方法可以提升性能,因为GIL的存在python想要并行只能通过多进程,你可以去学习一下怎么使用multiprocessing来实现多进程达到你的并行目的
回答:
你这个是属于运算比较密集的程序,应该使用多进程,网上很多关于多进程multiprocessing的示例,可以查看手动实验下
以上是 求大佬解决多进程或并行运算问题,提高运行效率,降低耗时 的全部内容, 来源链接: utcz.com/a/165111.html