我只是写了一个在 Numba 上处理列表和并行的示例,如下所示:Parallel 和 No Parallel:
平行
@njit(parallel=True)
def evaluate():
n = 1000000
a = [0]*n
sum = 0
for i in prange(n):
a[i] = i*i
for i in prange(n):
sum += a[i]
return sum
无并行
def evaluate2():
n = 1000000
a = [0]*n
sum = 0
for i in range(n):
a[i] = i*i
for i in range(n):
sum += a[i]
return sum
并比较评估时间
t.tic()
print(evaluate())
t.toc()
结果:333332833333500000 经过的时间是 0.233338 秒。
t.tic()
print(evaluate2())
t.toc()
结果:333332833333500000 经过的时间是 0.195136 秒。