为什么并发期货比我的循环慢?

2024-07-08 11:00:56 发布

您现在位置:Python中文网/ 问答频道 /正文

嘿,伙计们,我想通过使用并发未来加速我的多处理代码。我写了一些代码来测试和理解并发未来,并模拟我的案例。但不知何故,并发期货方法比循环慢。。你知道吗

import concurrent.futures
import time

A = range(0,100000)
B = range(1000,20000)
SumList = []
DiffList = []
SumList2 = []
DiffList2 = []

def Funktion(items):
    A, B = items
    Sum = A + B
    Diff = A-B
    return(Sum, Diff)

def Funktion2(A, B):
    Sum = A+B
    Diff = A-B
    return(Sum, Diff)

start1 = time.time()
with concurrent.futures.ProcessPoolExecutor() as executor:
    for Sum, Diff in executor.map(Funktion, zip(A, B)):

        SumList.append(Sum)
        DiffList.append(Diff)


stop1 = time.time()
time1 = stop1 - start1
print('With Executor=', time1)

start2 = time.time()
i = 0
for x in A:
    Sum, Diff = Funktion2(A[i], B[i])
    SumList2.append(Sum)
    DiffList2.append(Diff)

stop2 = time.time()
time2 = stop2 - start2
print('Normal= ', time2)

结果是: 执行人=5.426360130310059 正常=0.08866691589355469

进程已完成,退出代码为0


Tags: 代码importtimedefdiffrangeconcurrentsum

热门问题