PHP中的匿名函数性能

前端之家收集整理的这篇文章主要介绍了PHP中的匿名函数性能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我开始在 PHP中使用功能性编程范例,并且想知道性能影响是什么.有些谷歌似乎只是说有一些.具体来说,我想知道:

>真的有性能影响还是城市传奇?
>什么是性能影响(希望有人做了基准测试)?
>什么原因导致这种影响(如果存在)?
>是固定成本还是执行?

任何资源,你们将会非常感激:)

提前致谢

我用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()显着较慢.

猜你在找的PHP相关文章