He estado comparando el Pi en algunos de mis códigos de simulación, en relación con un par de computadoras portátiles que tengo. Mis códigos tienden a ser intensivos en coma flotante, por lo que he estado usando Raspbian (que resulta ser mucho más rápido) debido a su soporte de flotación dura. Tengo el mismo código simple en varios idiomas diferentes. Obviamente, el código de Python es más lento que el código C, independientemente de la plataforma que use, pero en Pi parece ser relativamente más lento, por un factor de alrededor de 3. ¿Alguien sabe por qué el intérprete de Python es relativamente lento en Pi? ¿Es esto algo que es probable que se solucione?
Aquí está la prueba:
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()
De esta publicación de blog sobre el experimento.