【小(xiǎo)編推薦】ThinkPHP3.≥"2——性能(néng)調試

2014-06-26  $λ™ |   €£₹發布者:梁國(guó)芳  &nbσ¶→sp;|   查看(kà×>n):3320次

Thinkphp

開(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ú):

  1. G('begin');
  2. // ...其他(tā)代碼段
  3. G('end');
  4. // ...也(yě)許這(zhè)裡(lǐ)還(hái)有(•"×yǒu)其他(tā)代碼
  5. // 進行(xíng)統計(jì)區(qū)間(✔±'jiān)
  6. 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ú):

  1. 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ú):

  1. 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ì)。