Codeigniter profiler执行时间错误?

时间:2013-03-22 17:39:39

标签: codeigniter profiler

我是Codeigniter的新手。我几天前在WAMP上安装了CI 2.1.3(PHP 5.4.3)。 我创建了我的基本布局并启用了探查器。

启用探查器后,它会给我下一个执行时间:

加载时间:基础类 0.0228
控制器执行时间(布局/索引) 0.0239
总执行时间 0.0468

我决定在旁边的视图文件中包含以查看Profiler的准确程度:

$ time = microtime(true) - $ _SERVER [“REQUEST_TIME_FLOAT”];
echo $ time;

以上输出为: 0.064446926116943

现在它绝对不等于CI Profiler。

我错过了什么吗? CI Profiler准确吗?

1 个答案:

答案 0 :(得分:0)

CI Profiler实际上并没有进行测量,它是基准库。它通过在添加标记时使用microtime()获取时间戳来衡量每个基准。然后,探查器计算起始标记和结束标记之间的差异。

差异将是因为在设置第一个基准之前的初始化时间。

您可以在源代码中看到第一个基准测试开始的位置。它位于第108行的 system / core / codeigniter.php 文件中:

$BM =& load_class('Benchmark', 'core');
$BM->mark('total_execution_time_start');
$BM->mark('loading_time:_base_classes_start');

当然,在运行该代码之前已经加载了所有文件,因此差异来自于此。