CodeIgniter类库之Benchmarking Class
来源:互联网 发布:淘宝可以借钱吗 编辑:程序博客网 时间:2024/05/24 07:23
CodeIgniter中有个Benchmarking类库,它是被系统自动被加载的,不需要手工加载。Benchmarking类库能够计算出任意两个被标记点之间的代码执行时间。通过这个数值,可以评估程序员编写的程序的效率。
另外,当CodeIgniter框架被调用时,系统会调用Benchmark类库中的方法,以计算出Output类库将所有内容正确的发送至浏览器所执行的时间。
可以在我们自己编写的模型(Model)、视图(View)和控件器(Controller)中通过以下三步使用Benchmark:
- 标记起始点
- 标记结束点
- 调用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');
// Some code happens here
$this->benchmark->mark('code_end');
echo $this->benchmark->elapsed_time('code_start', 'code_end');
我们可以任意代码行做标记,并通过elapsed_time方法计算任两个标记点之间的代码执行时间。
$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');
// 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)中使用。
- CodeIgniter类库之Benchmarking Class
- CodeIgniter类库之Calendar Class
- CodeIgniter类库之Profiler Class
- CodeIgniter类库之Validation Class
- CodeIgniter类库之Validation Class(续)
- CakePHP vs CodeIgniter: BenchMarking(1)
- CakePHP vs CodeIgniter: BenchMarking(2)
- CodeIgniter 之数据库类
- Codeigniter 类库参考
- Codeigniter 类库加载
- CodeIgniter Session Class
- CodeIgniter源码分析之CodeIgniter.php
- CodeIgniter源码分析之CodeIgniter.php
- CodeIgniter源码分析之CodeIgniter.php
- 用PEAR::Benchmarking之Timer实现PHP程序计时
- 用PEAR::Benchmarking之Timer实现PHP程序计时
- DRL前沿之:Benchmarking Deep Reinforcement Learning for Continuous Control
- PHP框架之Codeigniter
- 性格决定命运,性格决定编程吗?
- VC++中的MFC程序的执行过程
- MFC中对Windows Media Player 控件使用个性皮肤
- CentOS下安装mplayer1.0rc2
- MplayerFC5下最简易安装方法
- CodeIgniter类库之Benchmarking Class
- .Net中使用压缩和解压缩(一)
- .Net中使用压缩和解压缩(二)
- .Net中使用压缩和解压缩(三)
- 一个项目经理的一些个人体会
- 思念的感觉
- java反编译工具jad
- .NET 环境下运行时代码生成和编译
- 实验方法探讨标准正态分布随机数发生器