[Python] range vs xrange
Francesco Bonanno
fgthct a gmail.com
Sab 24 Feb 2018 12:51:31 CET
buongiorno
Sto confrontando il comportamento in runtime di NumPy con le normali
liste Python. Nel seguente codice, calcolerò la somma dei quadrati da 1
a 1000 e vedremo quanto tempo impiegherà il calcolo. Lo faccio fare per
10000 volte e stampo il tempo totale in modo che la misurazione sia
sufficientemente accurata.
ecco il codice:
import timeit
normale_py_sec = timeit.timeit('sum(x*x for x in xrange(1000))',
number=10000) # si pianta qua
naive_np_sec = timeit.timeit('sum(na*na)', setup="import numpy as np;
na=np.arange(1000)",
number=10000)
buona_np_sec = timeit.timeit('na.dot(na)', setup="import numpy as np;
na=np.arange(1000)",
number=10000)
print("Esecuzione normale Python: %f sec" % normal_py_sec)
print("Esecuzione Naive NumPy: %f sec" % naive_np_sec)
print("Esecuzione Buona NumPy: %f sec" % good_np_sec)
normale_py_sec = timeit.timeit('sum(x*x for x in xrange(1000))',
number=10000) # si pianta qua con NameError: name 'xrange' is not defined.
Se cambio xrange con range va. Perchè?
Grazie
Franky
Ps: python 3.5, Numpy 1.14.1
Pss: ma non si può evitare l'import esplicito?
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20180224/5f4e7733/attachment.html>
Maggiori informazioni sulla lista
Python