me repitió poco código de prueba user677656
's, pero una pequeña variante usando y=x*x
en lugar de elevar al cuadrado (tanto en el nonanon
y el caso anon
):
Elapsed time is 0.517514 seconds.
Elapsed time is 0.223450 seconds.
Si en lugar de utilizar la variante y=x^2
, consigo resultados similares como user677656
:
Elapsed time is 0.402366 seconds.
Elapsed time is 7.440174 seconds.
Esto es con Matlab 2012b. No tengo idea de por qué en la tierra estos dan diferentes resultados.
También he probado y=sin(x)
que da resultados similares a los del caso x*x
, y y=sqrt(x)
, que resultó en una ventaja leve (2,8 vs 3,9 segundos) para el caso nonanon
.
Una publicación relacionada que puede interesarle (pero en JavaScript): http://stackoverflow.com/questions/80802/does-use-of-anonymous-functions-affect-performance –