基準(zhǔn)測(cè)試類
CodeIgniter 有一個(gè)總是有效的基準(zhǔn)測(cè)試類,能夠用來計(jì)算兩個(gè)標(biāo)記點(diǎn)的時(shí)間差.
注意:這個(gè)類會(huì)被系統(tǒng)自動(dòng)初始化,因此不需要手動(dòng)初始化.
另外,基準(zhǔn)測(cè)試類在框架被調(diào)用的時(shí)候開始,在最終視圖被output類送給瀏覽器之前結(jié)束,可以顯示整個(gè)系統(tǒng)執(zhí)行的精確定時(shí).
目錄
- 使用測(cè)試基準(zhǔn)類
- 自定義你的測(cè)試基準(zhǔn)類
- 顯示總的執(zhí)行時(shí)間
- 顯示內(nèi)存消耗
使用基準(zhǔn)測(cè)試類
測(cè)試基準(zhǔn)類可以在 控制器, 視圖,或者 模型.中使用,用法如下:
- 標(biāo)記一個(gè)開始點(diǎn)
- 標(biāo)記一個(gè)結(jié)束點(diǎn)
- 運(yùn)行elapsed_time函數(shù)顯示結(jié)果
下面是一個(gè)代碼示例:
$this->benchmark->mark('code_start');
// Some code happens here
$this->benchmark->mark('code_end');
echo $this->benchmark->elapsed_time('code_start', 'code_end');
注意:?jiǎn)卧~“code_start”和“code_end”是任意的,他們是簡(jiǎn)單的單詞用來做為兩個(gè)標(biāo)記。你可以使用你想用的任意單詞,并且你可以設(shè)置多個(gè)標(biāo)記,參考下面的這些代碼:
$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');
自定義你的基準(zhǔn)測(cè)試類
如果你想你的基準(zhǔn)數(shù)據(jù)對(duì)評(píng)測(cè)有效,你的標(biāo)記點(diǎn)必須設(shè)置成對(duì),并且每個(gè)標(biāo)記點(diǎn)必須用_start 和_end結(jié)束.每一對(duì)標(biāo)記點(diǎn)的前部必須相同.例如:
$this->benchmark->mark('my_mark_start');
// Some code happens here...
$this->benchmark->mark('my_mark_end');
$this->benchmark->mark('another_mark_start');
// Some more code happens here...
$this->benchmark->mark('another_mark_end');
更多信息請(qǐng)參考 調(diào)試你的應(yīng)用程序 .
顯示總的執(zhí)行時(shí)間
如果你想顯示從CodeIgniter啟動(dòng)到瀏覽器最終輸出的時(shí)間消耗,簡(jiǎn)單把這段代碼放到你的一個(gè)視圖模板中:
<?php echo $this->benchmark->elapsed_time();?>
你會(huì)注意到這個(gè)函數(shù)和上面例子中計(jì)算兩個(gè)標(biāo)記點(diǎn)時(shí)間差的函數(shù)是同一個(gè), 不同的是這里你沒有使用參數(shù).當(dāng)參數(shù)為空的時(shí)候,CodeIgniter一直會(huì)到最終頁面被送往瀏覽器之前才停止benchmark .它不管你是在哪里調(diào)用的,計(jì)時(shí)器會(huì)持續(xù)到最終結(jié)束.
如果不喜歡使用純PHP,另外一種備用的來顯示時(shí)間消耗的方式是在視圖文件中使用這個(gè)偽變量:
{elapsed_time}
注意:如果你想在你的控制器函數(shù)中benchmark(基準(zhǔn)測(cè)試)一些東西, 你必須設(shè)置你自己的開始/結(jié)束點(diǎn).
顯示內(nèi)存消耗
如果你的PHP在安裝的時(shí)候被配置成--enable-memory-limit,你可以將下面的代碼包含到視圖文件中顯示整個(gè)系統(tǒng)的內(nèi)存使用量:
<?php echo $this->benchmark->memory_usage();?>
注意:這個(gè)函數(shù)只能在視圖文件中使用.這個(gè)消耗量就是應(yīng)用程序的全部?jī)?nèi)存消耗.
如果不喜歡使用純PHP,另外一種備用的來顯示內(nèi)存使用量的方式是在視圖文件中使用這個(gè)偽變量:
{memory_usage}
?