我使用的是numba
's @jitclass
,我想减少编译时间.
例如(我的实际班级要大得多):
@jitclass
class State:
a: int
b: int
def __init__(self):
a = 0
b = 0
def update(self, x: int):
self.a += x
self.b -= x
我try 将cache
参数添加到@jitclass
,但似乎不受支持.
@jitclass(cache=True)
class State:
...
我还试图改变我的类,只是为了保存数据,并用@njit
和cache
编译所有方法:
@jitclass
class State:
a: int
b: int
def __init__(self):
a = 0
b = 0
@njit(cache=True)
def update(state: State, x: int):
state.a += x
state.b -= x
但这似乎让编译时间变得更糟.我的猜测是,因为State
没有被缓存,所以它每次都编译,然后依赖函数需要编译.
是否有任何解决方案可以减少编译时间?