【发布时间】:2017-04-11 18:32:12
【问题描述】:
这是一个例子。如果您运行此代码,它将打印调用 foo 大约需要 1 秒的时间:
import timeit
import numba
@numba.njit('void(List(intp, True))')
def foo(v): v[0] += 1
a = range(1 << 25)
start = timeit.default_timer()
foo(a)
stop = timeit.default_timer()
print stop - start
显然 Numba 正在来回复制列表。有什么办法可以避免吗?
(我不能轻易使用 NumPy 数组,因为我需要在代码中的其他地方调整列表的大小。)
【问题讨论】:
-
你为什么要这样做?动机是什么?
-
@Veedrac:你是什么意思?您无法想象人们需要不固定大小的列表的场景?
标签: python performance list copy numba