资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 编程开发 >
Advertisement
文章正文

看过google的搜索吗?搜索共花了多少时间?这里有一个类可以统计脚本执行时间的。_编程

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   
  • Linux下的Apache+JServ+ojsp+SSL+PHP(IMAP+LDAP+MYSQL) 的安装(转四) 
  • SSI使用详解(转二) 
  • 在APACHE中,同一个IP配置两个虚拟主机的例子。 
  • 一个基于mysql的登陆验证程序(二) 
  • 新闻发布系统(例子)二dbconn 
  • 使用PHPLIB进行Session的管理和认证(转载) 
  • 用PHP3作树型目录(4) 
  • UltraEdit支持php文档特殊显示的配置(基本的) 
  • 在Linux下访问MSSQLServer数据库(转载) 
  • 给WIN98下使用APACHE的弟兄们的一个好东西:ApacheManager,不会再有那个DOS窗口了! 
  • 页面导航:

    正文内容:
    <?php

    // class php_timer开始
    class php_timer {

     // 用来收集脚本执行过程中的信息
     var $points = array();
     
     // 在脚本的开始处调用这个函数
     function start() {
     // 请看后面的addmarker函数
     $this->addmarker("start");
     }
     // end function start()

     // 在脚本的结束处调用这个函数
     function stop() {
     // 请看后面的addmarker函数
     $this->addmarker("stop");
     }
     // end function stop()

     // 这个函数用来在脚本执行时增加一个标记
     // 需要一个用来描述的名字
     function addmarker($name) {
     // 调用 jointime() 函数并将microtime() 的返回值传递过去
     $markertime = $this->jointime(microtime());
     // $ae 得到当前数组的大小,也就是当前的插入位置
     // currently in the $points array
     $ae = count($this->points);
     // 在数组中存储timestamp 和说明
     $this->points[$ae][0] = $markertime;
     $this->points[$ae][1] = $name;
     }
     // end function addmarker()

     // 这个函数会处理从microtime() 返回的字串
     function jointime($mtime) {
     // 分解字串
     $timeparts = explode(" ",$mtime);
     // 连接两个字串,并去除小数部分的0
     $finaltime = $timeparts[1].substr($timeparts[0],1);
     // 返回连接后的字串
     return $finaltime;
     }
     // end function jointime()
     
     // 这个函数简单的显示从开始到结束所需要的时间
     function showtime() {
     echo bcsub($this->points[count($this->points)-1][0],$this->points[0][0],6);
     }
     // end function showtime()
     
     // 这个函数显示所有的在脚本运行过程中收集到的信息
     function debug() {
     echo "script execution debug information:";
     echo "<table border=0 cellspacing=5 cellpadding=5>\n";
     // 这个表格有3列 marker name, timestamp, difference
     echo "<tr><td><b>marker</b></td><td><b>time</b></td><td><b>diff</b></td></tr>\n";
     // 第一行是没有运行时间差的
     echo "<tr>\n";
     echo "<td>".$this->points[0][1]."</td>";
     echo "<td>".$this->points[0][0]."</td>";
     echo "<td>-</td>\n";
     echo "</tr>\n";
     // 从数组的元素1开始循环显示,0已经在第一行显示过了
     for ($i = 1; $i < count($this->points);$i++) {
     echo "<tr>\n";
     echo "<td>".$this->points[$i][1]."</td>";
     echo "<td>".$this->points[$i][0]."</td>";
     echo "<td>";
     // 显示上下两行的时间差
     echo bcsub($this->points[$i][0],$this->points[$i-1][0],6);
     echo "</td>";
     echo "</tr>\n";
     }
     echo "</table>";
     }
     // end function debug()
    }
    // end class php_timer

    ?>

     

     
    热门推荐笔记本: IBM笔记本
    相关文章:
    webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
    ©2007 popbb.net All Rights Reserved