求大佬解决多进程或并行运算问题,提高运行效率,降低耗时

各位大佬好,我有一个字典格式的数据如下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

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 2.2k
2 个回答

你自己已经猜测到了并行的方法可以提升性能,因为GIL的存在python想要并行只能通过多进程,你可以去学习一下怎么使用multiprocessing来实现多进程达到你的并行目的

你这个是属于运算比较密集的程序,应该使用多进程,网上很多关于多进程multiprocessing的示例,可以查看手动实验下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题