Ich habe den Pi mit einigen meiner Simulationscodes verglichen, relativ zu ein paar Laptops, die ich habe. Meine Codes sind in der Regel fließkommaintensiv, daher verwende ich Raspbian (was sich als viel schneller herausstellt ), da es schwer zu fließen ist. Ich habe den gleichen einfachen Code in mehreren verschiedenen Sprachen. Offensichtlich Python - Code ist langsamer als C - Code unabhängig von Plattform I verwenden, aber auf dem Pi erscheint es relativ zu mehr langsam, um einen Faktor von etwa 3. Wer weiß , warum das Python - Interpreter wahrscheinlich relativ langsam auf dem Pi sein soll, und Ist dies etwas, das wahrscheinlich behoben wird?
Hier ist der Test:
import random,math
def gibbs(N=50000,thin=1000):
x=0
y=0
print "Iter x y"
for i in range(N):
for j in range(thin):
x=random.gammavariate(3,1.0/(y*y+4))
y=random.gauss(1.0/(x+1),1.0/math.sqrt(2*x+2))
print i,x,y
gibbs()
Von diesem Blogbeitrag über das Experiment.
performance
python
hard-float
raspbian
Darren Wilkinson
quelle
quelle
Antworten:
Ich würde vermuten, dass der Python-Interpreter einfach nicht für ARM optimiert ist. Python wurde möglicherweise für die anderen Plattformen optimiert. Nach meiner Erfahrung gilt dies für Software wie OpenSSH, daher gehe ich davon aus, dass dies für Python ähnlich ist.
quelle
Python leidet wahrscheinlich an einem Mangel an CPU-Cache. Ich bin mir nicht sicher, wie Sie das leicht messen können
quelle