php統計時間和記憶體使用量情況樣本分享_php執行個體

來源:互聯網
上載者:User

複製代碼 代碼如下:

/**
 * 記錄和統計時間(微秒)和記憶體使用量情況
 * 使用方法:
 * <code>
 * G('begin'); // 記錄開始標記位
 * // ... 區間運行代碼
 * G('end'); // 記錄結束標籤位
 * echo G('begin','end',6); // 統計區間已耗用時間 精確到小數後6位
 * echo G('begin','end','m'); // 統計區間記憶體使用量情況
 * 如果end標記位沒有定義,則會自動以當前作為標記位
 * 其中統計記憶體使用量需要 MEMORY_LIMIT_ON 常量為true才有效
 * </code>
 * @param string $start 開始標籤
 * @param string $end 結束標籤
 * @param integer|string $dec 小數位或者m
 * @return mixed
 */
function G($start,$end='',$dec=4) {
    static $_info       =   array();
    static $_mem        =   array();
    if(is_float($end)) { // 記錄時間
        $_info[$start]  =   $end;
    }elseif(!empty($end)){ // 統計時間和記憶體使用量
        if(!isset($_info[$end])) $_info[$end]       =  microtime(TRUE);
        if(MEMORY_LIMIT_ON && $dec=='m'){
            if(!isset($_mem[$end])) $_mem[$end]     =  memory_get_usage();
            return number_format(($_mem[$end]-$_mem[$start])/1024);         
        }else{
            return number_format(($_info[$end]-$_info[$start]),$dec);
        }      

    }else{ // 記錄時間和記憶體使用量
        $_info[$start]  =  microtime(TRUE);
        if(MEMORY_LIMIT_ON) $_mem[$start]           =  memory_get_usage();
    }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.