开发学院

您的位置:首页>教程>正文

教程正文

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

  上面的网址将启用分析器,它将产生如下截图所示的输出。

view_example.jpg

  要禁用分析器,请执行以下网址。

http://yoursite.com/index.php/profiler/disable