scusate per così tante domande. Sto eseguendo Mac OSX 10.6 su Intel core 2 Duo. Sto conducendo alcuni benchmark per la mia ricerca e mi sono imbattuto in un'altra cosa che mi confonde.Numpy dot prodotto molto lento con inti
Se corro
python -mtimeit -s 'import numpy as np; a = np.random.randn(1e3,1e3)' 'np.dot(a,a)'
ottengo il seguente output: 10 loops, best of 3: 142 msec per loop
Tuttavia, se corro
python -mtimeit -s 'import numpy as np; a = np.random.randint(10,size=1e6).reshape(1e3,1e3)' 'np.dot(a,a)'
ottengo il seguente output: 10 loops, best of 3: 7.57 sec per loop
Poi corsi
python -mtimeit -s 'import numpy as np; a = np.random.randn(1e3,1e3)' 'a*a'
E poi
python -mtimeit -s 'import numpy as np; a = np.random.randint(10,size=1e6).reshape(1e3,1e3)' 'a*a'
Sia corse a circa 7,6 msec per loop in modo che non è la moltiplicazione. L'aggiunta ha avuto anche velocità simili, quindi nessuno di questi dovrebbe influenzare il prodotto dot, giusto? Quindi perché è più di 50 volte più lento calcolare il prodotto con punti usando gli interi che l'uso dei galleggianti?
stesso per me su Linux - ho circa 3 secondi per float64 e 10 secondi per Int32 (si tratta di una vecchia macchina). Non un fattore di 50, ma ancora molto strano. – Luke