ho ripetuto poco codice di prova user677656
s', ma una piccola variante utilizzando y=x*x
invece di quadratura (sia nel nonanon
e il caso anon
):
Elapsed time is 0.517514 seconds.
Elapsed time is 0.223450 seconds.
Se invece usa la variante y=x^2
, ottengo risultati simili a quelli user677656
:
Elapsed time is 0.402366 seconds.
Elapsed time is 7.440174 seconds.
Questo è con Matlab 2012b. Non ho idea del perché sulla terra questi danno risultati diversi.
Ho anche testato y=sin(x)
che dà risultati simili a quelli del caso x*x
, e y=sqrt(x)
, che ha provocato un leggero vantaggio (2,8 vs 3,9 secondi) per il caso nonanon
.
Un post correlato che potrebbe interessarti (ma su JavaScript): http://stackoverflow.com/questions/80802/does-use-of-anonymous-functions-affect-performance –