用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4789|回复: 6
收起左侧

为何elapsed_time方法无法输出正确的时间?

[复制链接]
发表于 2012-6-8 15:20:45 | 显示全部楼层 |阅读模式
本帖最后由 moxuanyuan 于 2012-6-8 15:21 编辑

运行$this->benchmark->elapsed_time(),却输出伪变量“{elapsed_time}”,没有输出时间,
同样,$this->benchmark->memory_usage()输出伪变量“{memory_usage}”
发表于 2012-6-8 15:29:38 | 显示全部楼层
显示总的执行时间

如果你想显示从CodeIgniter启动到浏览器最终输出的时间消耗,简单把这段代码放到你的一个视图模板中:

<?php echo $this->benchmark->elapsed_time();?>
你会注意到这个函数和上面例子中计算两个标记点时间差的函数是同一个, 不同的是这里你没有使用参数.当参数为空的时候,CodeIgniter一直会到最终页面被送往浏览器之前才停止benchmark .它不管你是在哪里调用的,计时器会持续到最终结束.

如果不喜欢使用纯PHP,另外一种备用的来显示时间消耗的方式是在视图文件中使用这个伪变量:

{elapsed_time}
注意:如果你想在你的控制器函数中benchmark(基准测试)一些东西, 你必须设置你自己的开始/结束点.

显示内存消耗

如果你的PHP在安装的时候被配置成--enable-memory-limit,你可以将下面的代码包含到视图文件中显示整个系统的内存使用量:

<?php echo $this->benchmark->memory_usage();?>
注意:这个函数只能在视图文件中使用.这个消耗量就是应用程序的全部内存消耗.

如果不喜欢使用纯PHP,另外一种备用的来显示内存使用量的方式是在视图文件中使用这个伪变量:

{memory_usage}
 楼主| 发表于 2012-6-8 15:33:17 | 显示全部楼层
ubuntu 发表于 2012-6-8 15:29
显示总的执行时间

如果你想显示从CodeIgniter启动到浏览器最终输出的时间消耗,简单把这段代码放到你的一个 ...

这里是手册的内容,我都有看啊,但问题时$this->benchmark->elapsed_time()直接输出的是“{elapsed_time}”,并不是时间~~~
发表于 2012-6-8 17:02:33 | 显示全部楼层
如果你想在你的控制器函数中benchmark(基准测试)一些东西, 你必须设置你自己的开始/结束点.

貌似还是要设置起始点
发表于 2012-6-8 18:59:35 | 显示全部楼层
moxuanyuan 发表于 2012-6-8 15:33
这里是手册的内容,我都有看啊,但问题时$this->benchmark->elapsed_time()直接输出的是“{elapsed_time} ...

贴下完整代码,单行的即可 :)
发表于 2012-6-8 19:01:00 | 显示全部楼层
IvanCI 发表于 2012-6-8 17:02
如果你想在你的控制器函数中benchmark(基准测试)一些东西, 你必须设置你自己的开始/结束点.

貌似还是要设 ...

测试部分代码才需要,直接使用,CodeIgniter一直会到最终页面被送往浏览器之前才停止benchmark .它不管你是在哪里调用的,计时器会持续到最终结束. :)
发表于 2018-1-6 14:57:46 | 显示全部楼层
我在测试时:$this->load->view('leaguer/load_user_list.html',$data);正确输出0.0830 ,
而 echo $this->load->view('leaguer/load_user_list.html',$data,TRUE); 直接输出{elapsed_time}

本版积分规则