Cython
用来快速生成Python扩展模块的工具;
Python的编译器,用于提高python速度,通过OpenMPI库还可以进行吧并行计算;
它的语法是c和python的混血;
例子
创建hello.pyx,内容如下
def say_hello():
print "Hello World!"
创建setup.py,内容如下
from distutils.core import setup
from Cython.Build import cythonize
setup(name = 'Hello world app',
ext_modules = cythonize("hello.pyx"))
编译Cython代码
step1: 把.pyx文件被Cython编译为.c文件
step2: 把.c文件编译为可导入的使用模块.so(Windows下为.pyd)文件
python setup.py build
python setup.py install
这时候会报错,如果安装vs2010需要在cmd中安装
SET VS90COMNTOOLS=%VS100COMNTOOLS%
然后执行
>>> import hello
>>> hello.say_hello()
Hello World!
通过静态类型提高速度
原来的代码如下
compute.pyx
def f(x):
return x ** 2 -