Pythonコードを最適化する方法を探していたときに、Cythonに出くわしました。私はStackOverflow、python wikiのさまざまな投稿を読み、「最適化の一般的なルール」の記事を読みました。
Cythonは私の興味を最もよく理解するものです。自分でCコードを作成する代わりに、Pythonコード自体に他のデータ型を含めることを選択できます。
これが私が試したばかげたテストです、
#!/usr/bin/python
# test.pyx
def test(value):
for i in xrange(value):
i**2
if(i==1000000):
print i
test(10000001)
$ time python test.pyx
real 0m16.774s
user 0m16.745s
sys 0m0.024s
$ time cython test.pyx
real 0m0.513s
user 0m0.196s
sys 0m0.052s
今、正直なところ、私は唖然としています。ここで使用したコードは純粋なPythonコードであり、変更したのはインタープリターだけです。この場合、cythonがこれほど優れているのなら、なぜ人々は従来のPythonインタープリターをまだ使用しているのでしょうか。Cythonに信頼性の問題はありますか?