Hola

2010/9/25 JJ Merelo <[email protected]>:
> 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
_______________________________________________
Madrid-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/madrid-pm

Responder a