I'm starting to use functional programming paradigms in php and was wondering what the performance impacts are. Some googling just seems to say that there are some. To be specific, I would like to know:
Any resources you guys have would be greatly appreciated :)
Thanks in advance
I did some testing with array_map(), calling it with:
array_map('test', $myArray);
)array_map($test, $myArray);
)array_map(function{}(), $myArray);
)In all three cases, the function was empty (function test(){}
)
The results for an array with 1.000.000 items ($myArray = range(1,1000000);
)
Function: 0.693s
Variable:0.703s
Closure: 0.694s
For an array of 10.000.000 items, the results are this:
Function: 8.913s
Variable: 8.169s
Closure: 8.117s
So in neither case do we have much overhead, if any.
Also see the 4th comment on http://fabien.potencier.org/article/17/on-php-5-3-lambda-functions-and-closures
It comes to the same conclusions. In that comment, you also see that create_function()
is significantly slower.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With