php自动加载性能

时间:2012-10-25 07:36:35

标签: php xdebug

即使使用

spl_register_autoload( function( $class )
{
    $file = '/path/to/lib/' . $class;
    require_once( $file );
    return class_exists( $class, false );
} );
xdebug显示此关闭的总自我成本(19%)略低于其包含成本(25%)。它比PDO的执行()(2%)高10倍。

为什么需要这么多时间?

2 个答案:

答案 0 :(得分:1)

如果你使用自动加载器,那么你不应该使用_once函数,因为它们很慢。使用require($ file)(在我看来,这在您的代码中是错误的,因为您需要$ class而不是文件)。

答案 1 :(得分:0)

似乎xdebug将包含文件的代码作为闭包的代码。这就是为什么会有这样的结果。 修改后的包含文件我发现了它。 当我使用APC时,执行时间已经增加。它影响了关闭的自我成本。