發(fā)表日期:2018-12 文章編輯:小燈 瀏覽次數(shù):3215
開發(fā)過程中,有些時候為了測試性能,經(jīng)常需要調(diào)試某段代碼的運行時間或者內(nèi)存占用開銷,系統(tǒng)提供了think\Debug
類可以很方便的獲取某個區(qū)間的運行時間和內(nèi)存占用情況。 例如:
Debug::remark('begin');// ...其他代碼段Debug::remark('end');// ...也許這里還有其他代碼// 進行統(tǒng)計區(qū)間echo Debug::getRangeTime('begin','end').'s';
表示統(tǒng)計begin位置到end位置的執(zhí)行時間(單位是秒),begin必須是一個已經(jīng)標記過的位置,如果這個時候end位置還沒被標記過,則會自動把當前位置標記為end標簽,輸出的結(jié)果類似于:0.0056s
默認的統(tǒng)計精度是小數(shù)點后4位,如果覺得這個統(tǒng)計精度不夠,還可以設(shè)置例如:
echo Debug::getRangeTime('begin','end',6).'s';
可能的輸出會變成:0.005587s
如果你的環(huán)境支持內(nèi)存占用統(tǒng)計的話,還可以使用getRangeMem
方法進行區(qū)間內(nèi)存開銷統(tǒng)計(單位為kb),例如:
echo Debug::getRangeMem('begin','end').'kb';
第三個參數(shù)使用m表示進行內(nèi)存開銷統(tǒng)計,輸出的結(jié)果可能是:625kb
同樣,如果end標簽沒有被標記的話,會自動把當前位置先標記位end標簽。
系統(tǒng)還提供了助手函數(shù)debug
用于完成相同的作用,上面的代碼可以改成:
debug('begin');// ...其他代碼段debug('end');// ...也許這里還有其他代碼// 進行統(tǒng)計區(qū)間echo debug('begin','end').'s';echo debug('begin','end',6).'s';echo debug('begin','end','m').'kb';
日期:2018-12 瀏覽次數(shù):4980
日期:2018-12 瀏覽次數(shù):5264
日期:2018-12 瀏覽次數(shù):4343
日期:2018-12 瀏覽次數(shù):3695
日期:2018-12 瀏覽次數(shù):4102
日期:2018-12 瀏覽次數(shù):3661
日期:2018-12 瀏覽次數(shù):3702
日期:2018-12 瀏覽次數(shù):6521
日期:2018-12 瀏覽次數(shù):3476
日期:2018-12 瀏覽次數(shù):3578
日期:2018-12 瀏覽次數(shù):3706
日期:2018-12 瀏覽次數(shù):4829
日期:2018-12 瀏覽次數(shù):3214
日期:2018-12 瀏覽次數(shù):3530
日期:2018-12 瀏覽次數(shù):3332
日期:2018-12 瀏覽次數(shù):3214
日期:2018-12 瀏覽次數(shù):3587
日期:2018-12 瀏覽次數(shù):3453
日期:2018-12 瀏覽次數(shù):4553
日期:2018-12 瀏覽次數(shù):4001
日期:2018-12 瀏覽次數(shù):3515
日期:2018-12 瀏覽次數(shù):4317
日期:2018-12 瀏覽次數(shù):3299
日期:2018-12 瀏覽次數(shù):3290
日期:2018-12 瀏覽次數(shù):3246
日期:2018-12 瀏覽次數(shù):3407
日期:2018-12 瀏覽次數(shù):3691
日期:2018-12 瀏覽次數(shù):3479
日期:2018-12 瀏覽次數(shù):3411
日期:2018-12 瀏覽次數(shù):3466
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.