On Sun, May 27, 2012 at 03:13:19PM +0200, JJ Merelo wrote: > Hola Buenas.
> Pregunta corta: ¿Cómo se hace para que Perl no devuelva un valor de una > subrutina? AFAIK, return; devuelve undef. > Pregunta larga: en el MasterMind hay subrutinas que se llaman millones (o > miles de millones) de veces. El profiler dice que, curiosamente, el > devolver el valor de la misma es el cuello de botella. Igual hay otra forma > de solucionarlo, como meterlas inline (la verdad, no sé como hacerlo) pero > lo que he hecho ha sido declarar el prototipo como que devuelvan void y > hacer que se les pase el hashref de vuelta como parámetro. Marginalmente > mejora algo, pero sigue devolviendo el valor devuelto por la última función > en la subrutina (un map). Añadir return; no mejora prácticamente nada, y > declararla como void con prototipo tampoco. ¿Alguna idea? > Se me ocurre hacer un inline manual, construyendo código programáticamente que incruste el código de la función llamada en la llamante, y luego haciendo eval de ello. No tengo tiempo de explicarlo más, cuando vuelva luego intentaré explayarme un poco más. Hope that it helps. Cheers, > Saludos > > -- > JJ > _______________________________________________ > Madrid-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/madrid-pm -- pancho horrillo _______________________________________________ Madrid-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/madrid-pm
