You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用for循环实现Python多进程为何耗时显著增加?

多进程性能骤降的原因分析

先对比你提到的两段核心代码的关键差异:

视频中的代码(耗时1.8秒)

a = mp.Process(target=counter, args=(25000000,))
b = mp.Process(target=counter, args=(25000000,))
c = mp.Process(target=counter, args=(25000000,))
d = mp.Process(target=counter, args=(25000000,))

a.start()
b.start()
c.start()
d.start()

b.join()
a.join()
c.join()
d.join()

你修改后的代码(耗时10.8秒)

processes = []
for i in range(1, 4):
    processes.append(mp.Process(target=counter, args=(250000000,)))

for i in range(len(processes)):
    processes[i].start()
for i in range(len(processes)):
    processes[i].join()

性能差异的核心原因和for循环无关,是两段代码的任务量与进程数量完全不同:

  • 单进程任务量差10倍:视频里每个进程处理2500万次计数,你写的是2.5亿次,单进程工作量直接翻了10倍
  • 进程数量少1个:视频里是4个进程并行,你的循环range(1,4)只生成3个进程,并行处理能力进一步降低

把这两个点修正——比如把循环改成range(4),参数改成25000000——再运行,性能就能和视频版本对齐了。


内容的提问来源于stack exchange,提问作者agctute

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:12:21