性能調試
開發過程中,有些時候為了測試性能,經常需要調試某段代碼的運行時間或者內存占用開銷,系統提供了think\Debug類可以很方便的獲取某個區間(jian)的運行時間(jian)和內(nei)存(cun)占用情況。 例(li)如(ru):
Debug::remark('begin');
// ...其(qi)他代碼段
Debug::remark('end');
// ...也許(xu)這里還有(you)其他代碼
// 進(jin)行統計(ji)區間
echo Debug::getRangeTime('begin','end').'s';
表示統計begin位置到end位置的執行時間(單位是秒),begin必須是一個已經標記過的位置,如果這個時候end位置還沒被標記過,則會自動把當前位置標記為end標簽,輸出的結果類似于:0.0056s
默認的統(tong)(tong)計(ji)精度(du)是小數點(dian)后(hou)4位,如(ru)果覺得(de)這個統(tong)(tong)計(ji)精度(du)不夠,還(huan)可以設(she)置例(li)如(ru):
echo Debug::getRangeTime('begin','end',6).'s';
可能的輸出會變成:0.005587s
如果你的環境支持內存占用統計的話,還可以使用getRangeMem方法進行區(qu)間內存開銷(xiao)統計(單位為kb),例如:
echo Debug::getRangeMem('begin','end').'kb';
第三個參數使用m表示進行內存開銷統計,輸出的結果可能是:625kb
同(tong)樣,如果end標(biao)(biao)(biao)簽(qian)沒有被標(biao)(biao)(biao)記的話,會自動把當前位置先標(biao)(biao)(biao)記位end標(biao)(biao)(biao)簽(qian)。
助手函數
系統還提供了助手函數debug用于完成(cheng)相同的作用,上面(mian)的代碼可以改成(cheng):
debug('begin');
// ...其他代碼段
debug('end');
// ...也許這里還有其他代碼
// 進行(xing)統計(ji)區間
echo debug('begin','end').'s';
echo debug('begin','end',6).'s';
echo debug('begin','end','m').'kb';
文檔最后更新時間:2018-04-26 10:43:17
未解決你的問題?請到「問答社區」反饋你遇到的問題
