衆所周知,Python和Java一樣是基於虛擬機的語言,並不是像C/C++那樣將程序代碼編譯成機器語言再運行,而是解釋一行執行一行,速度比較慢。使用Numba庫的JIT技術編譯以後,可以明顯提高程序的運行速度。
from numba import jit
@jit
def sum_array(array,sum_array,years_valid):
"""將兩個數組對應值相加,並統計有效的年數"""
for i in range(0,3600):
for j in range(0,7200):
if array[i,j] >= 0: #排除填充值
years_valid[i,j] += 1
sum_array[i,j] += array[i,j]
return sum_array,years_valid
其加速效果十分明顯。