我刚刚遇到 Cython,当时我正在寻找优化 Python 代码的方法。我阅读了有关 Stack Overflow、python wiki 的各种帖子,并阅读了文章“优化的一般规则”。
Cython 是我最感兴趣的东西。您可以选择在 Python 代码本身中包含其他数据类型,而不是自己编写 C 代码。
这是我试过的一个愚蠢的测试,
#!/usr/bin/python
# test.pyx
def test(value):
for i in xrange(value):
i**2
if(i==1000000):
print i
test(10000001)
$ 时间 python test.pyx
real 0m16.774s
user 0m16.745s
sys 0m0.024s
$ 时间 cython test.pyx
real 0m0.513s
user 0m0.196s
sys 0m0.052s
现在,老实说,我傻眼了。我在这里使用的代码是纯python代码,我改变的只是解释器。在这种情况下,如果 cython 这么好,那为什么人们还用传统的 Python 解释器呢?Cython 是否存在任何可靠性问题?