Ho analizzato il Pi su alcuni dei miei codici di simulazione, rispetto a un paio di laptop che ho. I miei codici tendono ad essere in virgola mobile, quindi ho usato Raspbian (che risulta essere molto più veloce) a causa del suo supporto float. Ho lo stesso codice semplice in diverse lingue. Ovviamente il codice Python è più lento del codice C qualunque sia la piattaforma che uso, ma sul Pi sembra essere relativamente più lento, di un fattore di circa 3. Qualcuno sa perché è probabile che l'interprete Python sia relativamente lento sul Pi, e è qualcosa che probabilmente verrà risolto?
Ecco il 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()
Da questo post sul blog sull'esperimento.