| 状态 | 草稿 |
|---|---|
| Todo | Expand on the default benchmarks (what do they measure?) |
| 官方最后更新时间 | 2008/05/01 20:31 |
基准测试类可以帮助你节省编码时间,默认情况下几个基类:
基准测试的结果会通过 Profiler 输出。
如果一个视图显示之后,其中 {execution_time} 和 {memory_usage} 方法可以直接在视图文件中使用,这两个方法分别为“执行时间”和“占用内存量”。
提示:
Benchmark::start($name) 启动一个新的基准测试。需要设定 $name。无返回值。
Benchmark::start('benchmark1');
Benchmark::stop($name) 停止基准测试,前提必须启动了 $name 的基准测试一致。无返回值。
Benchmark::stop('benchmark1');
Benchmark::get($name, $decimals) 输出基准测试的结果。返回类型为数组: 时间(time)单位为秒。内存(memory)单位为字节。
print_r(Benchmark::get('benchmark1')); // 输出: Array ( [time] => 0.0078 [memory] => 472 )
$decimal 变量为可选的,默认值为4。
print_r(Benchmark::get('benchmark1', 6)); // 输出: Array ( [time] => 0.007802 [memory] => 472 )
如果设置 $name 为 TRUE,所有的基准测试都会返回。
print_r(Benchmark::get(TRUE, 3)); // 输出: Array ( [477f51931a33e_total_execution] => Array ( [time] => 0.023 [memory] => 618940 ) [477f51931a33e_kohana_loading] => Array ( [time] => 0.012 [memory] => 369104 ) [477f51931a33e_environment_setup] => Array ( [time] => 0.002 [memory] => 54300 ) [477f51931a33e_system_initialization] => Array ( [time] => 0.003 [memory] => 65884 ) [477f51931a33e_controller_setup] => Array ( [time] => 0.008 [memory] => 177688 ) [477f51931a33e_controller_execution] => Array ( [time] => 0.000 [memory] => 4236 ) [benchmark1] => Array ( [time] => 0.008 [memory] => 472 ) )
提示:
memory_get_usage() 函数无法使用。则内存值变为0。