開(kāi)發過程中,有(yǒu)些(xiē)時(shí)候為(wèi™✔α♦)了(le)測試性能(néng),經常需要(yàoε♥)調試某段代碼的(de)運行(xíng)時(shí)₽♦∑☆間(jiān)或者內(nèi)存占用(yòng)開(k₩→āi)銷,系統提供了(le)G方法可(kě)以很(h₽≈☆"ěn)方便的(de)獲取某個(gè)區(qū)間(jiān)£φ的(de)運行(xíng)時(shí)間(jiān)和(hé)內(nèi∏ ¥)存占用(yòng)情況。 例如(rú):
G('begin');// ...其他(tā)代碼段G('end');// ...也(yě)許這(zhè)裡(lǐ)還(hái)有(•"×yǒu)其他(tā)代碼// 進行(xíng)統計(jì)區(qū)間(✔±'jiān)echo G('begin','end').'s';
G('begin','end') 表示統計(jì)begin位置到(dà ↑Ωo)end位置的(de)執行(xíng)時(shí)間(jiān)(λ®$單位是(shì)秒(miǎo)),begin<±必須是(shì)一(yī)個(gè)已經标記過的(d¥§★e)位置,如(rú)果這(zhè)個(gè)時(shí)候end位置還(háΩαεi)沒被标記過,則會(huì)自(zì)動把當前位∞♦置标記為(wèi)end标簽,輸出的(de)結果類似于:0.0056s
默認的(de)統計(jì)精度是(shì)小(x↕ iǎo)數(shù)點後4位,如(rú)果覺得∞ (de)這(zhè)個(gè)統計(jì)精度不(bù)夠,還(há÷≥∞i)可(kě)以設置例如(rú):
G('begin','end',6).'s';
可(kě)能(néng)的(de)輸出會(huì)變成:0.005587s
如(rú)果你(nǐ)的(de)環境支持內(nèi)存占↑ ≠用(yòng)統計(jì)的(de)話(©δhuà),還(hái)可(kě)以使用(yòng)G方¶¶±λ法進行(xíng)區(qū)間(jiān)內(nèi)存開(kāi)銷統計(≤®jì)(單位為(wèi)kb),例如(rú):
echo G('begin','end','m').'kb';
第三個(gè)參數(shù)使用(yòng)m表示進行(xíng)內$≈ε(nèi)存開(kāi)銷統計(jì),輸出的(≤♠×de)結果可(kě)能(néng)是(shì):625kb
同樣,如(rú)果end标簽沒有(yǒu)被标記的(de)話↕>±(huà),會(huì)自(zì)動把當前位置先标記位end标♦↔簽。
如(rú)果環境不(bù)支持內(nèi)存統計(jì),≥♣>則該參數(shù)無效,仍然會(huì)進行(xíng)區(qū)間(jiā© ≥εn)運行(xíng)時(shí)間(jiān)統™φ↓↓計(jì)。




