如果你有一个将被频繁调用的回调,你可以使用此方法(以及与之相关的 ReflectProperty 方法)来获取一个以接近原生速度执行的闭包。
在 ubuntu 上使用 php 5.4.22 进行的一些基准测试比较
[函数调用] [时间] [% 较慢]
function(): 0.09527 0%
Reflection::Closure: 0.09729 2%
$string(): 0.102641 8%
Reflection: 0.197122 107%
call_user_func: 0.214045 125%
[方法调用] [时间] [% 较慢] [% 与函数相比]
->method(): 0.103611 0% 9%
Reflection::Closure: 0.1043 1% 9%
$string(): 0.109885 6% 15%
Reflection: 0.20451 97% 115%
call_user_func: 0.219205 112% 130%