23. 例
from numba import jit
from numpy import arange
# jit decorator tells Numba to compile this function.
# The argument types will be inferred by Numba when function is called.
@jit
def sum2d(arr):
M, N = arr.shape
result = 0.0
for i in range(M):
for j in range(N):
result += arr[i,j]
return result
a = arange(9).reshape(3,3)
print(sum2d(a))
58. 再帰
import time
def fib(n):
if n < 2: return n
return fib(n - 2) + fib(n - 1)
if __name__ == "__main__":
for x in range(3):
fib(3)
start = time.time()
result = fib(38)
timespan = time.time() - start
print(result)
print (timespan)
59.
60. ループ
import time
def fib(n):
value = 0
f1, f2 = 1, -1
for i in range(n+1):
value = f1 + f2
f2 = f1
f1 =value
return value
if __name__ == "__main__":
for x in range(3):
fib(3)
start = time.time()
result = 0
for x in range(0,5000):
result = fib(38)
timespan = time.time() - start
print(result)
print (timespan)