import numba
from numba import prange
from numba.typed import Dict, List
@numba.njit(parallel=True)
def create_list_of_dicts(input: List[int]):
output = List()
for i in prange(len(input)):
output.append((Dict([(1, 2)]), input[i]))
return output
len(create_list_of_dicts([i for i in range(1000)]))
导致我的 Python 解释器崩溃
double free or corruption (!prev)
Aborted (core dumped)
我认为这是因为List.append
不是线程安全的。有解决方法吗?
预填充列表
output = [None] * len(input)
然后通过分配给条目
output[i] = ...
给出
No implementation of function Function(<built-in function setitem>) found for signature:
>>> setitem(list(none)<iv=None>, int64, Tuple(DictType[int64,int64]<iv=None>, int64))