在 Cython 中,众所周知,未声明的变量类型会带来更多开销,从而减慢整个过程。
如果在嵌套循环中使用此未知变量类型,例如:
def test(b, c, m, n, p):
ctype double a
for i in range(m)
for j in range(n)
for k in range(p)
a = b + c
return a
开销可能要高得多。在涉及许多变量的问题中,人们很容易忘记声明一种或另一种类型,并且编译器不会发出警告,因为 Cython 会执行所需的开销。
Cython 中是否有命令强制显式声明所有变量?