我开始在php中使用函数式编程范例,并且想知道性能影响是什么。一些谷歌搜索似乎只是说有一些。具体来说,我想知道:
你们所拥有的任何资源都将不胜感激:)
提前致谢
答案 0 :(得分:18)
我使用array_map()进行了一些测试,用以下方法调用它:
array_map('test', $myArray);
)array_map($test, $myArray);
)array_map(function{}(), $myArray);
)在所有三种情况下,该函数都为空(function test(){}
)
包含1.000.000项($myArray = range(1,1000000);
)
Function: 0.693s
Variable:0.703s
Closure: 0.694s
对于10.000.000项的数组,结果如下:
Function: 8.913s
Variable: 8.169s
Closure: 8.117s
因此,在任何情况下,我们都没有太多开销,如果有的话。
另见http://fabien.potencier.org/article/17/on-php-5-3-lambda-functions-and-closures的第4条评论
它得出了相同的结论。在该评论中,您还会看到create_function()
明显变慢。