programacion funciones funcional funcion closure anonimas anonima php functional-programming php-5.3 anonymous-function

php - funciones - funcion anonima matlab



rendimiento de la función anónima en PHP (1)

Hice algunas pruebas con array_map (), llamándolo con:

  1. El nombre de una función ( array_map(''test'', $myArray); )
  2. Una variable que contiene un cierre ( array_map($test, $myArray); )
  3. Un cierre ( array_map(function{}(), $myArray); )

En los tres casos, la función estaba vacía ( function test(){} )

Los resultados para una matriz con 1.000.000 de elementos ( $myArray = range(1,1000000); )

Function: 0.693s Variable:0.703s Closure: 0.694s

Para una variedad de 10.000.000 de artículos, los resultados son los siguientes:

Function: 8.913s Variable: 8.169s Closure: 8.117s

Entonces, en ninguno de los casos tenemos demasiados gastos generales, si los hay.

También vea el 4to comentario en http://fabien.potencier.org/article/17/on-php-5-3-lambda-functions-and-closures Llega a las mismas conclusiones. En ese comentario, también ves que create_function() es significativamente más lento.

Estoy comenzando a usar paradigmas de programación funcional en php y me preguntaba cuáles son los impactos en el rendimiento. Algunos google simplemente parece decir que hay algunos. Para ser específico, me gustaría saber:

  • ¿Hay realmente un impacto en el rendimiento o es una leyenda urbana?
  • ¿Cuál es el impacto en el rendimiento (ojalá alguien que haya hecho puntos de referencia)?
  • ¿Qué causa este impacto (si existe)?
  • ¿Es un costo fijo o por ejecución?

Cualquier recurso que ustedes tengan será muy apreciado :)

Gracias por adelantado