衡量函数

时间:2015-05-24 13:05:01

标签: php function microtime

PHP

$totalTimeFunction=0;
function f1()
{
     $t1=microtime(true);
    for($i=0;$i<900;$i++)
    {}
    $t2=microtime(true);
    $p=($t2-$t1);
    $GLOBALS['totalTimeFunction']+=$p;  
}


 $t1=microtime(true);
f1();
$t2=microtime(true);
$p=($t2-$t1);
echo 'OutFunction='.$p."\n";
echo 'inFunction='.$GLOBALS['totalTimeFunction']."\n";

Online Code

为什么outFunction大于inFunction?

为什么outFunction不等于inFunction?

在我的实际功能中,我连接到数据库并做了很多计算...... inFunction和outFunction之间的时差是10秒?(ajax的时间轴大约等于outFunction时间)

修改 我的真实功能(表格内容有100,000条记录,我称它为100次,inFunction和outFunction之间的差异为10秒)

 $contentTable=array();
function getNameTask($id)
{ 
     $t=microtime(true);


    if(empty($GLOBALS['contentTable']))
    {       
        $baseClass = new MsDatabase();   
        $query = "select CON_VALUE,CON_ID,CON_CATEGORY from content where CON_LANG='fa' and (CON_CATEGORY='TAS_TITLE' or CON_CATEGORY='PRO_TITLE' )";

        $GLOBALS['contentTable']= $baseClass->query($query,WF_WORKFLOW_DB_NAME_MARKAZE);            
    }

    foreach($GLOBALS['contentTable'] as $R)
    {

        if(trim($R['CON_ID'])==trim($id) && $R['CON_VALUE']!='' && trim($R['CON_CATEGORY'])=='TAS_TITLE' ){
            $t2=microtime(true);
             $p=($t2-$t);
            $GLOBALS['tt']+=$p;  
             return $R["CON_VALUE"];
        }
    }

     return 0;          

}

0 个答案:

没有答案