[Madrid-pm] El tiempo irresistible de volver

Bruno brunorc en gmail.com
Sab Sep 25 11:36:15 PDT 2010


Hola

2010/9/25 JJ Merelo <jjmerelo at gmail.com>:
> Hola,
> Pasando profiler a algunos programillas me he dado cuenta que return
> $foo tarda bastante tiempo; el problema es que se mete en la pila el
> resultado de la última sentencia de una subrutina hagas lo que hagas,

Puede ser, que lo que tarda es la destruccion de un bloque.

En lugar de:

return $foo;

es suficiente:

$foo;

porque Perl va a devolver el valor de la ultima expresion.

> con lo que consume bastante tiempo. No sé si pasarlo a un closure
> merecerá la pena, pero en todo caso,

Una clausura construye un bloque, que siempre te cuesta un poco de
tiempo (y la destruccion tambien).

 ¿hay alguna forma de evitar el
> return en una subrutina? ¿Quizás definiendo prototipos?

Si lo recuerdo bien, prototipos de Perl solo definen los argumentos,
no el valor que se devuelve.

Saludos,

Bruno


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