2017-08-04 101 views
1

我有一個關於numba的基本問題,很遺憾我找不到答案。考慮下面的代碼:在Numba重新編譯

import numba 

@numba.jit(nopython=True) 
def f1(x): 
    y = 0 
    for _ in range(1000): 
     y += f2(x) 
    return y 

@numba.jit(nopython=True) 
def f2(x): 
    return x 

函數f2會在循環中每次調用f1時重新編譯,還是隻編譯一次?

回答

0

f1被稱爲首次和被編譯,這將必然編譯f2和包括f2整個編譯功能將緩存在內存中。每次後續調用f1(除非使用與先前調用類型不同的值調用x)不會導致重新編譯任何代碼。

+0

非常感謝! :) – Joerg