欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php獲取目標(biāo)函數(shù)執(zhí)行時間示例

 更新時間:2014年03月04日 10:33:06   作者:  
這篇文章主要介紹了php獲取目標(biāo)函數(shù)執(zhí)行時間示例,需要的朋友可以參考下

寫了一個類用來測試目標(biāo)函數(shù)的執(zhí)行時間。以下是類的定義代碼:

復(fù)制代碼 代碼如下:

<?php
/**
 * class EfficiencyTester
 * 效率測試器,測試函數(shù)的運(yùn)行時間
 * @version 1.0 2013.04.13
 * @author Kross
 */
class EfficiencyTester {   
    /**
     * var $testTimes
     * 測試的次數(shù)
     */
    private $testTimes = 1000;

    /**
     * function getTime()
     * 根據(jù)時間模式,獲取時間戳
     * @param $timeModel 時間模式,默認(rèn):微秒
     * @return int 時間戳
     */
    private function getTime($timeModel = 'MS') {
        if ($timeModel == 'MS') {
            return microtime();
        } else if ($timeModel == 'S') {
            return time();
        } else {
            return microtime();
        }
    }
    /**
     * function testOnce()
     * 測試目標(biāo)函數(shù)一次,返回運(yùn)行時間
     * @param $functionName 目標(biāo)函數(shù)名
     * @param $timeModel 時間模式,默認(rèn):微秒
     * @return double 目標(biāo)函數(shù)運(yùn)行一次的時間(很隨機(jī))
     */
    public function testOnce($functionName, $timeModel = 'MS') {       
        $startMicroTime = $this->getTime($timeModel);
        $functionName();
        $endMicroTime = $this->getTime($timeModel);

        $costMicroTime = $endMicroTime - $startMicroTime;

        return $costMicroTime;
    }
    /**
    * function test()
    * 測試目標(biāo)函數(shù)多次,返回運(yùn)行時間(平均值)
    * @param $functionName 目標(biāo)函數(shù)名
    * @param $timeModel 時間模式,默認(rèn):微秒
    * @return double 目標(biāo)函數(shù)運(yùn)行的時間
    */
    public function test($functionName, $timeModel = 'MS') {
        $totalMicroTimes = 0;
        for ($i = 1; $i <= $this->testTimes; $i++) {
            $totalMicroTimes += $this->testOnce($functionName);
        }
        return $totalMicroTimes / $this->testTimes;
    }
}
?>

以下是類的測試代碼:

復(fù)制代碼 代碼如下:

<?php
require_once('../class/EfficiencyTester.class.php');
$e = new EfficiencyTester();
echo $e->test('rand');
?>

一開始我是直接使用 microtime() 獲取時間的,后來考慮到如果想獲得單位是秒的運(yùn)行時間,這樣寫就不夠多態(tài)了,然后我就寫了一個getTime() 的函數(shù)來獲取不同單位的時間戳,不過這樣,貌似目標(biāo)函數(shù)的運(yùn)行時間變長了,可能是因為 getTime() 函數(shù)中的判斷占用了一部分時間。

相關(guān)文章

  • 一個簡單安全的PHP驗證碼類、PHP驗證碼

    一個簡單安全的PHP驗證碼類、PHP驗證碼

    這篇文章主要介紹了一個簡單安全的PHP驗證碼類 PHP驗證碼的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • PHPMailer ThinkPHP實(shí)現(xiàn)自動發(fā)送郵件功能

    PHPMailer ThinkPHP實(shí)現(xiàn)自動發(fā)送郵件功能

    這篇文章主要為大家詳細(xì)介紹了PHPMailer ThinkPHP實(shí)現(xiàn)自動發(fā)送郵件功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • thinkPHP3.2使用RBAC實(shí)現(xiàn)權(quán)限管理的實(shí)現(xiàn)

    thinkPHP3.2使用RBAC實(shí)現(xiàn)權(quán)限管理的實(shí)現(xiàn)

    這篇文章主要介紹了thinkPHP3.2使用RBAC實(shí)現(xiàn)權(quán)限管理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • CI分頁類首頁、尾頁不顯示的解決方法

    CI分頁類首頁、尾頁不顯示的解決方法

    這篇文章主要介紹了CI分頁類首頁、尾頁不顯示的解決方法,結(jié)合實(shí)例形式較為詳細(xì)的分析說明了CI框架分頁代碼的運(yùn)行原理與顯示首頁、尾頁的具體方法,需要的朋友可以參考下
    2016-03-03
  • 單一index.php實(shí)現(xiàn)PHP任意層級文件夾遍歷(Zjmainstay原創(chuàng))

    單一index.php實(shí)現(xiàn)PHP任意層級文件夾遍歷(Zjmainstay原創(chuàng))

    本程序?qū)崿F(xiàn)了使用一個index.php文件來實(shí)現(xiàn)所有文件夾的遍歷效果,避免了需要無窮復(fù)制index.php至文件夾下才能實(shí)現(xiàn)的效果
    2012-07-07
  • Thinkphp自定義美化success和error提示跳轉(zhuǎn)頁面代碼實(shí)例

    Thinkphp自定義美化success和error提示跳轉(zhuǎn)頁面代碼實(shí)例

    這篇文章主要介紹了Thinkphp自定義美化success和error提示跳轉(zhuǎn)頁面代碼實(shí)例,有需要的同學(xué)可以直接借鑒文中代碼,可以增加頁面的美觀和友好程度
    2021-03-03
  • CodeIgniter框架實(shí)現(xiàn)的整合Smarty引擎DEMO示例

    CodeIgniter框架實(shí)現(xiàn)的整合Smarty引擎DEMO示例

    這篇文章主要介紹了CodeIgniter框架實(shí)現(xiàn)的整合Smarty引擎DEMO,結(jié)合實(shí)例形式分析了CodeIgniter框架整合Smarty引擎的原理、操作步驟及相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-03-03
  • YII2框架中驗證碼的簡單使用方法示例

    YII2框架中驗證碼的簡單使用方法示例

    這篇文章主要介紹了YII2框架中驗證碼的簡單使用方法,結(jié)合實(shí)例形式分析了Yii2框架驗證碼的基本創(chuàng)建、使用方法及操作注意事項,需要的朋友可以參考下
    2020-03-03
  • 最新評論