加載中...

性能調試


開發過程中,有些時候為了測試性能,經常需要調試某段代碼的運行時間或者內存占用開銷,系統提供了think\Debug類(實際使用think\facade\Debug類即可)可以很方便的獲取某個區間的運行時間和內存占用情況。 例如:

Debug::remark('begin');
// ...其他代碼段
Debug::remark('end');
// ...也許這里還有其他代碼
// 進行統計區間
echo Debug::getRangeTime('begin','end').'s';

表示統計begin位置到end位置的執行時間(單位是秒),begin必須是一個已經標記過的位置,如果這個時候end位置還沒被標記過,則會自動把當前位置標記為end標簽,輸出的結果類似于:0.0056s

默認的統計精度是小數點后4位,如果覺得這個統計精度不夠,還可以設置例如:

echo Debug::getRangeTime('begin','end',6).'s';

可能的輸出會變成:0.005587s

如果你的環境支持內存占用統計的話,還可以使用getRangeMem方法進行區間內存開銷統計(單位為kb),例如:

echo Debug::getRangeMem('begin','end').'kb';

第三個參數使用m表示進行內存開銷統計,輸出的結果可能是:625kb

同樣,如果end標簽沒有被標記的話,會自動把當前位置先標記位end標簽。

助手函數

系統還提供了助手函數debug用于完成相同的作用,上面的代碼可以改成:

debug('begin');
// ...其他代碼段
debug('end');
// ...也許這里還有其他代碼
// 進行統計區間
echo debug('begin','end').'s';
echo debug('begin','end',6).'s';
echo debug('begin','end','m').'kb';

還沒有評論.
股票配资平台l选一直牛