Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Ich habe zwar nicht das timeit modul genutzt. Aber ergebn sich bei euch auch solche extreme Werte? Habt ihr auch schon solche Test gemacht? Kennt ihr Seiten? Ich konnte so direkt nichts dazu finden.
Daten:
Intel Centino @ 1,7GHz
Ubuntu 6.10
Habe leider kein 2.3.5 drauf gabs von 2.3.5 auch 2.4 auch mehr speed?
Weil bei den Werten würde sich ein umstieg bei meinen Programmen von 2.3.5 auf 2.5 bezahlt machen.
Ich habe jetzt kein Python 2.5 zum Testen hier, aber der Unterschied mit 16 und 2*2*2*2 ist gewaltig (Okay vlt. nicht so gewaltig außer bei einer großen Schleifendurchgangszahl wie 1000000):
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
dieses "Python psyco" ist doch nur ein compiler, richtig? Wird der offiziel bei installierten Linux Distris mitgeliefert oder muss man den nachträglich installieren?
dieses "Python psyco" ist doch nur ein compiler, richtig? Wird der offiziel bei installierten Linux Distris mitgeliefert oder muss man den nachträglich installieren?
Gruß vom fragenden Helex
Also eix sagt, schau auf http://psyco.sourceforge.net/ ...ansonsten sagt es aber auch: Falls es nicht standardmaessig installiert ist (wie unter Gentoo zB), dann macht dir dein Paketmanager damit keine Sorgen...
Ansonsten kannst du es aber auch ganz einfach ausprobieren. Direkt in der psyco-Dokumentation steht dieses Beispiel:
try:
import psyco
psyco.full()
except ImportError:
print 'Psyco not installed, the program will just run slower'
EDIT: Hiermit entschuldige ich mich fuer die miese Formulierung (zweimal "ansonsten" -.-)...
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
Sr4l hat geschrieben:Ich wusste garnicht das das so einfach geht mit Psyco.
Wird Attraktiv für mich.
Ja, dass macht es auch so schoen fuer mich. Vielleicht gibt es auch Nachteile, die man auf den ersten Blick nicht sieht... aber im Moment kenne ich diese nicht.
Ansonsten verwende ich es eigentlich immer... vorallem in arithmetiklastigen Anwendungen.
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
Ein Nachteil ist, dass es oft nur etwas bei Funktionen bringt, die mehr als einmal aufgerufen werden. Der erste Aufruf ist nämlich unter Umständen langsamer als gewöhnlich, weil dabei die Übersetzung in Maschinencode angestossen wird.
Ausserdem steigt der Speicherverbrauch an, insbesondere wenn eine Funktion mit den verschiedensten Typen aufgerufen wird, weil es dann für jede Variante eine spezialisierte Maschinenspracheroutine gibt.
Es kann also durchaus Sinn machen nicht alles unter Psyco zu stellen, sondern nur gezielt die Flaschenhälse übersetzen zu lassen.
import time
def fac(x):
if x == 0:
return 1
else:
x = x*fac(x-1)
return x
def time_fac(repeats):
st = time.time()
i = 0
while i <= repeats:
fac(30)
i += 1
et = time.time()
print "Runtime %s" % (et-st)
Die "Beschleunigung" innerhalb der beiden Tests liegt am Powermanagement das erst nach ein wenig CPU-Last den Prozessortakt auf volle Leistung hochschraubt.
Wenn ich die Blogposts von Effbot richtig in Erinnerung habe, wurde besonders bei Strings in Py2.5 viel optimiert. Also vielleicht mal mit Strings anstelle von Zahlen Vergleiche machen.