CodeIgniter教程:基准测试
设定基准测试点
如果您想要测量执行一组代码所花费的时间或内存使用情况,您可以使用CodeIgniter中的基准测试功能来计算它。在CodeIgniter中有一个单独的“基准测试”类用于此目的。
此类是自动加载的,无需手动加载它。它可以在控制器、视图和模型类中的任何地方使用。您所要做的就是标记一个起点和一个终点,然后在这两个标记点之间执行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(); ?>
例子
创建一个名为Profiler_controller.php的控制器并保存在application/controller/Profiler_controller.php.
<?php class Profiler_controller extends CI_Controller { public function index() { //enable profiler $this->output->enable_profiler(TRUE); $this->load->view('test'); } public function disable() { //disable profiler $this->output->enable_profiler(FALSE); $this->load->view('test'); } } ?>
创建一个名为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['profiler'] = "Profiler_controller"; $route['profiler/disable'] = "Profiler_controller/disable"
之后,您可以在浏览器的地址栏中键入以下网址来执行该示例。
http://yoursite.com/index.php/profiler
上面的网址将启用分析器,它将产生如下截图所示的输出。
要禁用分析器,请执行以下网址。
http://yoursite.com/index.php/profiler/disable