【发布时间】:2021-07-23 00:51:21
【问题描述】:
我最近听说了 numba,我今天想测试一下。 我做了一个简单的程序,它在计时的同时获取一个数字的阶乘。
import time
from numba import jit
@jit()
def fact(args):
x = 1
for i in range(2, args + 1):
x *= i
return x
st = time.time()
x = fact(100000)
print(x)
et = time.time()
elapsed_time = et - st
print("Time elapsed: ", elapsed_time)
由于某种原因,当存在 @jit 装饰器时,此代码仅输出“0”,但没有 numba 代码可以正常工作。
为什么会发生这种情况,我该如何解决?
【问题讨论】:
-
这是 Jit 给出错误结果的原因,因为它无法处理大值。