Je suis un neophyte sous python et j'ai commencé à apprendre depuis 5 mn en lisant ces commentaires.
Pour moi, dans le script ci-dessus il n'y a que 2 appels à Xrange.
Je l'ai modifié un peu pour voir le temps que prenais Xrange et c'est plutôt ridicule par rapport au reste de la boucle (du coup ça me parait bien lent python ... mais faut dire que c'est interprété). Désolé, j'ai pas essayé sous Python 2.3, j'ai pas un accès haut débit.
[^] # Re: Deux mesures suffisent
Posté par Leroy Frederic (site web personnel) . En réponse à la dépêche Python 2.3 est sorti. Évalué à 1.
Pour moi, dans le script ci-dessus il n'y a que 2 appels à Xrange.
Je l'ai modifié un peu pour voir le temps que prenais Xrange et c'est plutôt ridicule par rapport au reste de la boucle (du coup ça me parait bien lent python ... mais faut dire que c'est interprété). Désolé, j'ai pas essayé sous Python 2.3, j'ai pas un accès haut débit.
fredo@miss:/home/fredo/tmp python -V 15:11
Python 2.2.3
fredo@miss:/home/fredo/tmp python test.py 15:12
(27.78145694732666, 3.0040740966796875e-05, 27.781426906585693)
fredo@miss:/home/fredo/tmp cat test.py
import time
def speedTest(N):
t1 = time.time()
k = 0
irange= xrange(N)
jrange= xrange(N)
t1b = time.time()
for i in irange:
for j in jrange:
k += (i+j)
t2 = time.time()
return ( t2-t1, t1b - t1, t2 - t1b )
print speedTest(3000)