状态 草稿
Todo Expand on the default benchmarks (what do they measure?)
官方最后更新时间 2008/05/01 20:31

基准测试类(Benchmark Class)

基准测试类可以帮助你节省编码时间,默认情况下几个基类:

  • Kohana Loading
  • Environment Setup
  • System Initialization
  • Controller Setup
  • Controller Execution
  • Total Execution

基准测试的结果会通过 Profiler 输出。

如果一个视图显示之后,其中 {execution_time}{memory_usage} 方法可以直接在视图文件中使用,这两个方法分别为“执行时间”和“占用内存量”。

提示:

基准测试不能加载也不能实例化。它们是随着系统运行自动加载的,并且其方法是静态的。

方法

start()

Benchmark::start($name) 启动一个新的基准测试。需要设定 $name。无返回值。

Benchmark::start('benchmark1');

stop()

Benchmark::stop($name) 停止基准测试,前提必须启动了 $name 的基准测试一致。无返回值。

Benchmark::stop('benchmark1');

get()

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 )

如果设置 $nameTRUE,所有的基准测试都会返回。

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。
core/benchmark.txt · 最后更改: 2008/09/03 02:28 由 icyleaf