使用Cython优化类C循环

参考:https://www.cnblogs.com/traditional/p/13196509.html 

库文件 

import time
start = time.time()
cdef unsigned long long count = 0
cdef int i
for i in range(100000001):
    count+=i
print(count)
print(time.time()-start)

setup.py

from distutils.core import setup
from Cython.Build import cythonize
setup(
    name='Hello pyx',
    ext_modules=cythonize('TestCython.pyx')
)

编译

 python setup.py build_ext --inplace

 

Use 

 

import TestCython

结果,从18s优化至0.16s,效率有了质的飞越,主要是因为定义了数据类型,省去了非常多的运行时检查

也可以交给pyximport自动编译,只需提供pyx文件即可

import pyximport
pyximport.install(language_level=3)

import TestCython

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值