Ottimo suggerimento,
crap!
Alla manipolazione degli algoritmi _non_ ci avevo proprio pensato:
Codice: Seleziona tutto
#+!!!
_sqrt = math.sqrt
_sin = math.sin
_cos = math.cos
ecc_pow = ecc ** 2
inc_a_b = incalfa*incbeta
inc_a_b_larg = inc_a_b*inclarg
inc_abl_lo = inc_a_b_larg*inclorg
#-!!!
E questa è importantissima per il mio esempio di 'brute force', dove le funzioni matematiche/goniometriche sono largamente diffuse in ognuno di quei milioni di cicli della procedura.
Sì, confermo, adesso i tempi di esecuzione sono passati da 102 a 35s, e
questo mi può bastare. Nel senso che la mia idiosincrasia con MatLab ha radici lontane: i) perché tale diffusissimo pacchetto informatico è chiuso e protetto da licenza [il suo clone Octave, opensourced, nei casi come questo è un palliativo, tempi di esecuzione da era glaciale]; ii) perché si è obbligati a passare da una 'miriade' di shell nelle due fasi fondamentali di editing e avvio. Ecco perché sto cercando di convertire alcuni miei script .m in un linguaggio snello e scattante come Python, e l'aiuto di un forum come il nostro è quello che serve.
Grazie mille, crap, e alla prossima.
Edit. Ecco il file corretto, con l'aggiunta del tempo impiegato
Codice: Seleziona tutto
.........
la= 957
la= 958
la= 959
la= 960
L= 5.5414e-07
Tempo di esecuzione= 33.141 secondi
Edit2. A completamento della discussione trascrivo sotto i tempi di esecuzione di MatLab e del suo clone Octave: 7 secondi vs. 24min 07s, che scarto!
Codice: Seleziona tutto
1.. MatLab 8.0
.....
la= 957
la= 958
la= 959
la= 960
L= 5.5293e-07
Elapsed time is 6.897877 seconds. <<<<<<----------
2.. Octave (vers. opensource di MatLab)
..........
la= 957
la= 958
la= 959
la= 960
L= 5.5293e-007
Elapsed time is 1447.3 seconds. <<<<<<----------