[python-users] Transpiler
Christopher Arndt
chris at chrisarndt.de
So Feb 9 18:22:54 CET 2014
On 09.02.2014 16:43, Dirk Hünniger wrote:
> ich denke ich fand eine Lösung für meine Frage von gestern. In scala
> kann ich mir das hinschreiben von Typen weitgehend schenken
Ich sehe in deinem Code zwei Typdeklarationen und mehr braucht man auch
in anderen Sprachen nicht.
> und habe
> trotzdem statische Typenprüfung und eine Laufzeit 50 mal schneller als
> Python.
Mit Cython bekomme ich ähnliche Ergebnisse (und muss auch nur zwei
Typdeklarationen hinzufügen):
fib.pyx:
cpdef int fib(int n):
if n < 0:
raise NotImplementedError
elif n <= 1:
return 1
else:
return fib(n-1) + fib(n-2)
timefib.py:
import time
import pyximport; pyximport.install()
import fib
print "Calculating fib(40)..."
s = time.time()
print fib.fib(40)
print "Time:", time.time() - s
$ python2 timefib.py
Calculating fib(40)...
165580141
Time: 2.25675296783
(Die reine Pythonversion braucht bei mir ca. 45 sec.)
Mehr Informationen über die Mailingliste python-users