Home > Backend Development > PHP Tutorial > Summary of Several Methods to Calculate Page Loading Time in PHP_PHP Tutorial

Summary of Several Methods to Calculate Page Loading Time in PHP_PHP Tutorial

WBOY
Release: 2016-07-13 17:14:06
Original
1123 people have browsed it

You can usually use microtime() to get the time at the beginning and end of the page and subtract them. The calculation result is that the page is running The period of time that has elapsed, but this is not necessarily the time that the page itself has been running

The code is as follows Copy code
 代码如下 复制代码

//实例:计算页面运行时加载时间
//分析:页面打开时获取一个时间,加载完成时获取一个时间,运行时间即二者之差

//1.自定义函数
function fn(){
list($a,$b) = explode(' ',microtime()); //获取并分割当前时间戳和微妙数,赋值给变量
return $a+$b;
}

//2.获取开始时间
$start_time = fn();
//5.加载过程
for($i=0;$i<10000000;$i++){
// do nothing;
}

//3.获取结束时间
$end_time = fn();

//4.计算差值
echo $end_time-$start_time;

//5.格式化输出
echo '
';
$t = $end_time-$start_time;
echo round($t,2);

?>

//Example: Calculate the loading time of the page when it is running
//Analysis: Get a time when the page is opened, get a time when loading is completed, and the running time is the difference between the two

//1. Custom function

function fn(){
list($a,$b) = explode(' ',microtime()); //Get and split the current timestamp and microtime number, and assign them to variables

return $a+$b;

}

代码如下 复制代码
class Timer {
private $StartTime = 0;//程序运行开始时间
private $StopTime = 0;//程序运行结束时间
private $TimeSpent = 0;//程序运行花费时间
function start(){//程序运行开始
$this->StartTime = microtime(); 
    } 
    function stop(){//程序运行结束
        $this->StopTime = microtime(); 
    } 
    function spent(){//程序运行花费的时间
        if ($this->TimeSpent) { 
            return $this->TimeSpent; 
        } else {
         list($StartMicro, $StartSecond) = explode(" ", $this->StartTime);
         list($StopMicro, $StopSecond) = explode(" ", $this->StopTime);
            $start = doubleval($StartMicro) + $StartSecond;
            $stop = doubleval($StopMicro) + $StopSecond;
            $this->TimeSpent = $stop - $start;
            return substr($this->TimeSpent,0,8)."秒";//返回获取到的程序运行时间差
        } 
    } 

$timer = new Timer(); 
$timer->start();
//...程序运行的代码
$timer->stop();
echo "程序运行时间为:".$timer->spent();
//2. Get the start time $start_time = fn(); //5.Loading process for($i=0;$i<10000000;$i++){<🎜> // do nothing;<🎜> }<🎜> <🎜>//3. Get the end time<🎜> $end_time = fn();<🎜> <🎜>//4. Calculate the difference<🎜> echo $end_time-$start_time;<🎜> <🎜>//5. Formatted output<🎜> echo '
'; $t = $end_time-$start_time; echo round($t,2); ?> If you use microtime() to get the start and end times of the page and subtract them, the calculation result is that the page is running The period of time that elapses, but this is not necessarily the time that the page itself was running. Because there may be multiple PHP scripts This page is jointly executed, so I think that method is inaccurate Below I found an example from the Internet about calculating the running time of a page program in PHP. Friends in need can refer to it. I recently wrote a program running time calculation class for your reference:
The code is as follows Copy code
class Timer { Private $StartTime = 0;//Program running start time Private $StopTime = 0;//End time of program execution Private $TimeSpent = 0;//It takes time for the program to run Function start(){//The program starts            $this->StartTime = microtime(); }   Function stop(){//The program ends           $this->StopTime = microtime(); }   Function spent(){//The time it takes for the program to run If ($this->TimeSpent) { Return $this->TimeSpent;          } else { list($StartMicro, $StartSecond) = explode(" ", $this->StartTime); list($StopMicro, $StopSecond) = explode(" ", $this->StopTime);                  $start = doubleval($StartMicro) + $StartSecond;                $stop = doubleval($StopMicro) + $StopSecond;                   $this->TimeSpent = $stop - $start;                  return substr($this->TimeSpent,0,8)."seconds";//Return the obtained program running time difference                                                                                                               }   } $timer = new Timer(); $timer->start(); //...The code that the program runs $timer->stop(); echo "The program running time is:".$timer->spent();

Look at the simplified program again to calculate page loading time

The code is as follows
 代码如下 复制代码


class runtime
{
var $StartTime = 0;
var $StopTime = 0;
function get_microtime()
{
list($usec, $sec) = explode(' ', microtime());
return ((float)$usec (float)$sec);
}

function start()
{
$this->StartTime = $this->get_microtime();
        }
       
        function stop()
        {
                $this->StopTime = $this->get_microtime();
        }
       
        function spent()
        {
                return round(($this->StopTime - $this->StartTime) * 1000, 1);
        }
}

//实例开始
$runtime= new runtime;
$runtime->start();
//你的代码开始
$a = 0;
for($i=0; $i<1000000; $i )
{
$a = $i;
}
//你的代码结束
$runtime->stop();
echo "页面执行时间: ".$runtime->spent()." 毫秒";
?>

Copy code

class runtime
{
          var $StartTime = 0;
          var $StopTime = 0;
         function get_microtime()
                                     {
                list($usec, $sec) = explode(' ', microtime());
Return ((float)$usec (float)$sec);
         }
                                                                               
         function start()
                                     {
$this->StartTime = $this->get_microtime();
         }
                                                                               
         function stop()
                                     {
$this->StopTime = $this->get_microtime();
         }
                                 
         function spent()
                                  {
                    return round(($this->StopTime - $this->StartTime) * 1000, 1);
         }
}

//Instance start
$runtime= new runtime;
$runtime->start();
//Start of your code
$a = 0;
for($i=0; $i<1000000; $i )
{
         $a = $i;
}
//End of your code
$runtime->stop();
echo "Page execution time: ".$runtime->spent()." milliseconds";
?>

http://www.bkjia.com/PHPjc/629064.htmlwww.bkjia.com
true
http: //www.bkjia.com/PHPjc/629064.html
TechArticleYou can usually use microtime() to get the time at the beginning and end of the page and subtract them, the calculation result is The period of time the page takes to run, but this is not necessarily the page itself...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template