我是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准确吗?
答案 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');
当然,在运行该代码之前已经加载了所有文件,因此差异来自于此。