• CodeIgniter类库之Benchmarking Class ,计算代码的执行时间


    CodeIgniter中有个Benchmarking类库,它是被系统自动被加载的,不需要手工加载。Benchmarking类库能够计算出任意两个被标记点之间的代码执行时间。通过这个数值,可以评估程序员编写的程序的效率。

        另外,当CodeIgniter框架被调用时,系统会调用Benchmark类库中的方法,以计算出Output类库将所有内容正确的发送至浏览器所执行的时间。

        可以在我们自己编写的模型(Model)、视图(View)和控件器(Controller)中通过以下三步使用Benchmark:

    1. 标记起始点
    2. 标记结束点
    3. 调用elapsed_time方法显示结果

        下面就是使用示例

    $this->benchmark->mark('code_start');
    // Some code happens here
    $this->benchmark->mark('code_end');
    echo $this->benchmark->elapsed_time('code_start', 'code_end');
    

    点之间的代码执行时间。

    $this->benchmark->mark('dog');
    // Some code happens here
    $this->benchmark->mark('cat');
    // More code happens here
    $this->benchmark->mark('bird');
    echo $this->benchmark->elapsed_time('dog', 'cat');
    echo $this->benchmark->elapsed_time('cat', 'bird');
    echo $this->benchmark->elapsed_time('dog', 'bird');
    

      

        若希望显示从框架被加载到所有内容被正确发送至浏览器中所消耗的时间,可以在你的视图文件(View)中加入如下语句,这个语句只能在视图文件(View)中使用。

    <?php echo $this->benchmark->elapsed_time();?>

        这句代码和我们在之前的示例中使用的是同一个方法,只不过是没有参数。如果你的视图是使用HTML和PHP混合编写的,你还可以通过使用模板标记来显示结果

    {elapsed_time}

        我们还可以在自己编写的视图中使用另一个模板标记来显示内存的使用信息

    {memory_usage}

    PS:上面提到的{elapsed_time}和{memroy_usage}标记只能在视图文件(View)中使用。

  • 相关阅读:
    学习笔记 MYSQL报错注入(count()、rand()、group by)
    学习笔记 HTTP参数污染注入
    学习笔记 MSSQL显错手工注入
    代码审计入门后审计技巧
    字符串的排列
    二叉搜索树与双向链表
    复杂链表的复制
    二叉树中和为某一值的路径
    二叉搜索树的后序遍历序列
    从上往下打印二叉树
  • 原文地址:https://www.cnblogs.com/Mwsoft/p/4389158.html
Copyright © 2020-2023  润新知