如果要测量执行一组行或内存使用所花费的时间,则可以使用CodeIgniter中的基准测试点进行计算。为此,在CodeIgniter中有一个单独的"Benchmarking"类。
此类会自动加载;它可以在控制器,视图和模型类中的任何位置使用。您所需要做的就是标签一个起点和终点,然后在这两个标签的点之间执行 elapsed_time()函数,您可以获得执行该代码所花费的时间,如下所示。
<?php $this->benchmark->mark(code_start);//Some code happens here
$this->benchmark->mark(code_end);
echo $this->benchmark->elapsed_time(code_start, code_end); ?>
要显示内存使用情况,请使用函数 memory_usage(),如以下代码所示。
<?php echo $this->benchmark->memory_usage(); ?>
Benchmark示例
创建一个名为 Profiler_controller.php 的控制器,并将其保存在 application/controller/Profiler_controller.php 中
<?php
class Profiler_controller extends CI_Controller {
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> index</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="com">//启用分析器</span><span class="pln">
$this</span><span class="pun">-></span><span class="pln">output</span><span class="pun">-></span><span class="pln">enable_profiler</span><span class="pun">(</span><span class="pln">TRUE</span><span class="pun">);</span><span class="pln">
$this</span><span class="pun">-></span><span class="pln">load</span><span class="pun">-></span><span class="pln">view</span><span class="pun">(</span><span class="str">test</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> disable</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="com">//禁用分析器</span><span class="pln">
$this</span><span class="pun">-></span><span class="pln">output</span><span class="pun">-></span><span class="pln">enable_profiler</span><span class="pun">(</span><span class="pln">FALSE</span><span class="pun">);</span><span class="pln">
$this</span><span class="pun">-></span><span class="pln">load</span><span class="pun">-></span><span class="pln">view</span><span class="pun">(</span><span class="str">test</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
?>
创建一个名为 test.php 的视图文件,并将其保存在 application/views/test.php
<!DOCTYPE html> <html lang="en"><head> <meta charset="utf-8"> <title>CodeIgniter View Example</title> </head>
<body> CodeIgniter View Example </body>
</html>
在 application/config/routes.php 处更改route.php文件,以为上述控制器添加路由,并在文件末尾添加以下行。
$route[profiler]="Profiler_controller"; $route[profiler/disable]="Profiler_controller/disable"
之后,您可以在浏览器的地址栏中键入以下URL以执行示例。
http://yoursite.com/index.php/profiler
上面的URL将启用事件探查器,并将产生输出,如以下屏幕图所示。

要禁用分析,请执行以下URL。
http://yoursite.com/index.php/profiler/disable