Python Numba类与继承

Python Numba类与继承,python,inheritance,numba,Python,Inheritance,Numba,我有一个类的层次结构,我想通过使用NumbaJitClass来加速我的代码。我在@jitclass中测试了一些没有类继承的示例,它可以正常工作并加快代码的速度。但是,如果我有类继承,则编译过程中会发生错误。下面是演示该问题的示例代码。如有任何意见和建议,我将不胜感激。现在对我来说,类继承似乎不受Numba支持,但我在文档中没有找到任何关于它的信息。 代码示例: import numpy as np from numba import jitclass from numba im

我有一个类的层次结构,我想通过使用NumbaJitClass来加速我的代码。我在@jitclass中测试了一些没有类继承的示例,它可以正常工作并加快代码的速度。但是,如果我有类继承,则编译过程中会发生错误。下面是演示该问题的示例代码。如有任何意见和建议,我将不胜感激。现在对我来说,类继承似乎不受Numba支持,但我在文档中没有找到任何关于它的信息。 代码示例:

import numpy as np
from numba import jitclass         
from numba import int32, float32

spec = [
    ('n', int32),               
    ('val', float32[:]),          
]

@jitclass(spec)
class Parent(object):
    def __init__(self, n):
        self.n = n
        self.val = np.zeros(n, dtype=np.float32)

spec = [
    ('incr', float32),          
]

@jitclass(spec)
class Child(Parent):
    def __init__(self, n):
        Parent.__init__(self, n)
        self.incr = 2.

def func(self):
    for i in xrange(0, self.n):
        self.val[i] += self.incr
    return self.val

par = Parent(10)
chl = Child(10)
print chl.func()
我得到的错误是:

TypeError: cannot subclass from a jitclass
目前(从0.28.1开始),Numba不支持从
jitclass
子类化/继承。文档中没有说明,但错误消息非常明确。我猜这项功能将在将来的某个时候添加,但现在这是一个限制。

ref问题: