numba用户手册6.@jitclass

--------------------------------------------------------------------------------------------------------------

numba用户手册

1.numba基础

2.@jit

3.使用自动并行化@jit

4.性能提升

5.创建ufunc

6.@jitclass

7.@cfunc

8.提前编译代码AOT

9.numba线程

10.调试

.

-------------------------------------------------------------------------------------------------------------- 

@jitclass                                     #编译Python类,为类生成代码,并指定每个字段的类型.



from numba import jitclass

from numba import int32, float32



spec = [ ('value', int32), ('array', float32[:]),  ]



@jitclass(spec)

class Bag(object):

    def __init__(self, value):          #必须定义,否则包含垃圾数据

        self.value = value

        self.array = np.zeros(value, dtype=np.float32)



    @property

    def size(self):                          #可定义方法和属性(仅限getter和setter)

        return self.array.size



    def increment(self, val):

        for i in range(self.size):

            self.array[i] = val

        return self.array



a=Bag(4)

a.size

a.increment(100)# array([100., 100., 100., 100., 100.],dtype=float32)

--------------------------------------------------------------------------------------------------------------  


 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值