Je viens de découvrir Cython, alors que je cherchais des moyens d'optimiser le code Python. J'ai lu divers posts sur stackoverflow, le wiki python et j'ai lu l'article "General Rules for Optimization".
Cython est ce qui m'intéresse le plus ; au lieu d'écrire du code C, vous pouvez choisir d'avoir d'autres types de données dans votre code python lui-même.
Voici un test stupide que j'ai essayé,
#!/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
Maintenant, honnêtement, je suis abasourdi. Le code que j'ai utilisé ici est du pur code python, et tout ce que j'ai changé est l'interpréteur. Dans ce cas, si Cython est si bon, alors pourquoi les gens utilisent-ils encore l'interpréteur Python traditionnel ? Y a-t-il des problèmes de fiabilité pour Cython ?