linux 多进程并行似乎不能用multiprocessing的Pool

启文

  要处理视频数据,提取帧特征,想用并行,在win10环境下,python multiprocessing似乎也挺好用的,当然感觉也挺慢的,获取帧列表转换为灰图,1272帧视频用了9秒多的样子,还好吧,笔记本i7-7700HQ的2.8GHz处理器,并行很久似乎也出不了结果。
  想着,linux服务器上的cpu核多48核2.5GHz应该有8个CPU每个CPU有6核,应该处理很快。部署到linux服务器上后。等了一个小时,两个小时,…,等不下去了断了吧。

PP模块

猜想Linux 用Multiprocessing是有问题的,就找到了一个pp模块,官网是这个

pp模块,就是用的时候有点反人类,把各种模块做参数填进去,
不过能出结果,而且没mutilprocessing的东西复杂。

简单用法:

import pp
def func(x):
    return x*2
job_server = pp.Server()

print("Starting pp with", job_server.get_ncpus(), "workers")
results=[job_server.submit(func,(i,)) for i in range(100)]
# job_server.wait()
for j in b:
    print(j())
job_server.print_stats()

结果

笔记本电脑, 取了1272/25=51帧,并行8进程总共耗时42.79s,开启3进程好像只要30几秒。在服务器上713帧,48个进程,用时442.024s,每核大概都是这个时间,每个进程大概15帧,442/15=30s,每帧处理2s还感觉还是有点慢的哈。

奔腾处理器单核确实和i7的比不得哈。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值