[Madrid-pm] El tiempo irresistible de volver

Bruno brunorc en gmail.com
Dom Sep 26 01:02:37 PDT 2010


Hola

2010/9/26 JJ Merelo <jjmerelo at gmail.com>:
> Sería cuestión de medirlo, pero creo que el problema es que el return
> se toma su tiempo de todas formas, aunque no devuelvas nada, devuelvas
> undef o lo que sea. He logrado mejorar tiempos cambiando subrutinas
> por bloques que se le pasan a map, pero nada que se haga con una
> subrutina hace que vaya más rápido.

Yo recuerdo hacer una prueba con Benchmark como esto:

a) el codigo
b) el mismo codigo en el bloque
c) el mismo codigo en la funcion

No habia mucha diferencia entre b) y c), pues me parece que es la
construccion/destruccion del scope que cuesta el tiempo.

Pero si el codigo hace algo mas que solo poner el valor en una
variable, o hacer una incrementacion, eso no vale mucho. Recientemente
en uno de nuestros TechTalks en Booking tuvimos una presentacion sobre
microoptimizacion. Algunos resultados son un poco contraintuitivos,
pero lo que me gusta mas es que en 5.10 "map in void context" es mas
rapido que foreach. YEAH! Y por ejemplo:

$foo = 42 if $dupa;

es mas rapido que:

if ( $dupa ) {
    $foo = 42;
}

tambien, pagas el precio de tener un bloque.

$alu[2]

Bruno


Más información sobre la lista de distribución Madrid-pm