其他答案已经说明了您是如何编译Cython代码而不执行代码的。但是,我认为您可能想知道Cython可以使您的代码更快。当我使用编译代码时(尽管我是从其他模块运行该函数),与
distutils纯Python相比,我获得了非常小的速度提升-
大约1%。但是,当我在代码中添加了一些小的更改时:
def test(long long value): cdef long long i cdef long long z for i in xrange(value): z = i**2 if(i==1000000): print i if z < i: print "yes"
并编译它,我得到了以下时间:
- PurePython代码: 20.4553578737秒
- Cython代码: 0.199339860234秒
那是100倍的加速。不是太寒酸。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)