A-A+

PHP判断一个页面执行多长时间的类

2017年03月07日 PHP技术文章 评论 3 条 阅读 7 views 次

一个很实用的PHP代码执行时间类,主要是用来判断某一片段的PHP代码执行了多久的时间,这是在优化PHP代码时必须要用的功能,一共有两个代码,一个是判断整个页面执行的时间,另一个是判断某个页面某个片段代码执行的时间。

两个类库都是从网上找来的,使用了一下,感觉相当的不错,有点类似于thinkphp中的时间执行,不过thinkphp中是直接整合了,使用起来很好,而下面的这两个类库就比较适用于我们自己写的CMS系统或者代码了。

页面执行时间类

  1. <?php  
  2. classTimer//页面执行时间类  
  3. {  
  4. varstarttime;//页面开始执行时间  
  5. varstoptime;//页面结束执行时间  
  6. varspendtime;//页面执行花费时间  
  7. functiongetmicrotime()//获取返回当前微秒数的浮点数  
  8. {  
  9. list(usec,sec)=explode(" ",microtime());  
  10. return((float)usec + (float)sec);  
  11. }  
  12. functionstart()//页面开始执行函数,返回开始页面执行的时间  
  13. {  
  14. this->starttime=this->getmicrotime();  
  15. }  
  16. functiondisplay()//显示页面执行的时间  
  17. {  
  18. this->stoptime=this->getmicrotime();  
  19. this->spendtime=this->stoptime-this->starttime;  
  20. returnround(this->spendtime,10);  
  21. }  
  22. }  
  23. /*调用方法 
  24. timer=new Timer(); 
  25. timer->start(); 
  26. /*在此处放入你要执行的脚本或代码 
  27. for(i=0;i<100000;i++) 
  28. { 
  29. echo i; 
  30. echo " 
  31. ";//www.xiariboke.net 
  32. } 
  33. */  
  34. //echo "  
  35. 执行该代码花费时间".timer->display()."秒";  
  36. ?>  

片段代码执行时间类

  1. <?php  
  2. // 实例1  
  3.    
  4. /** 
  5.  * @start time 
  6.  */  
  7. functionproStartTime() {  
  8.   global$startTime;  
  9.   $mtime1=explode(" ", microtime());  
  10.   $startTime=$mtime1[1] +$mtime1[0];  
  11. }  
  12.    
  13. /** 
  14.  * @End time 
  15.  */  
  16. functionproEndTime() {  
  17.   global$startTime,$set;  
  18.   $mtime2=explode(" ", microtime());  
  19.   $endtime=$mtime2[1] +$mtime2[0];  
  20.   $totaltime= ($endtime-$startTime);  
  21.   $totaltime= number_format($totaltime, 7);  
  22.   echo" 
  23. process time: ".$totaltime;  
  24. }  
  25.    
  26. // 程序调用开始记时  
  27. proStartTime();  
  28.    
  29. sleep(1);  // sleep() 延时代码执行若干秒  
  30. proEndTime();// 程序在每一段所消耗的执行时间  
  31. sleep(2);  
  32. proEndTime();  
  33. sleep(3);  
  34. proEndTime();  
  35.    
  36.    
  37. /************************************************* 华丽的分割线 **************************************************/  
  38.    
  39. // 实例2  
  40.    
  41. $t1= microtime(true);  
  42. sleep(3);  
  43. $t2= microtime(true);  
  44. echo'程序耗时'.round($t2-$t1,3).'秒'  
  45.    
  46. ?>  

除了代码优化之外,我们还可以更好的利用上述代码的类库,更改为我们自己所需要的功能,比如某个function所使用的时间,或者多个function所使用的时间对比,这样就可以告诉老板,我的代码所执行的时间都去哪儿了!!

标签:

3 条留言  访客:3 条  博主:0 条

  1. 香港云服务器

    很可惜啊,博主现在都不更新了,

  2. maqingxi

    博主更新的好勤快呀,赞一个。我们用了相同的主题。 😎

  3. 微部落博客

    果然是程序猿啊

给我留言