php - funciones - funcion anonima matlab
rendimiento de la función anónima en PHP (1)
Hice algunas pruebas con array_map (), llamándolo con:
- El nombre de una función (
array_map(''test'', $myArray);
) - Una variable que contiene un cierre (
array_map($test, $myArray);
) - 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