zoukankan      html  css  js  c++  java
  • 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)中使用。

  • 相关阅读:
    3种方式提高页面加载速度
    CSS中的层叠、特殊性、继承、样式表中的@import
    jQuery从零开始(二)
    jQuery从零开始(一)
    设计模式
    Vue-cli3脚手架工具快速创建一个项目
    Git上传到码云及其常见问题详解
    eclipse导入本地的svn项目后不能在team提交更新
    js拖拽上传图片
    axure 动态面板制作图片轮播 (01图片轮播)
  • 原文地址:https://www.cnblogs.com/Mwsoft/p/4389158.html
Copyright © 2011-2022 走看看