php获取目标函数执行时间示例

 这篇文章主要介绍了php获取目标函数执行时间示例,需要的朋友可以参考下

写了一个类用来测试目标函数的执行时间。以下是类的定义代码:
 
 代码如下:
<?php
/**
 * class EfficiencyTester
 * 效率测试器,测试函数的运行时间
 * @version 1.0 2013.04.13
 * @author Kross
 */
class EfficiencyTester {    
    /**
     * var $testTimes
     * 测试的次数 
     */
    private $testTimes = 1000;
 
    /**
     * function getTime()
     * 根据时间模式,获取时间戳
     * @param $timeModel 时间模式,默认:微秒
     * @return int 时间戳
     */
    private function getTime($timeModel = 'MS') {
        if ($timeModel == 'MS') {
            return microtime();
        } else if ($timeModel == 'S') {
            return time();
        } else {
            return microtime();
        }
    }
    /**
     * function testOnce()
     * 测试目标函数一次,返回运行时间
     * @param $functionName 目标函数名
     * @param $timeModel 时间模式,默认:微秒
     * @return double 目标函数运行一次的时间(很随机)
     */
    public function testOnce($functionName, $timeModel = 'MS') {        
        $startMicroTime = $this->getTime($timeModel);
        $functionName();
        $endMicroTime = $this->getTime($timeModel);
 
        $costMicroTime = $endMicroTime - $startMicroTime;
 
        return $costMicroTime;
    }
    /**
    * function test()
    * 测试目标函数多次,返回运行时间(平均值)
    * @param $functionName 目标函数名
    * @param $timeModel 时间模式,默认:微秒
    * @return double 目标函数运行的时间
    */
    public function test($functionName, $timeModel = 'MS') {
        $totalMicroTimes = 0;
        for ($i = 1; $i <= $this->testTimes; $i++) {
            $totalMicroTimes += $this->testOnce($functionName);
        }
        return $totalMicroTimes / $this->testTimes;
    }
}
?>
 
 
 
以下是类的测试代码:
 
 代码如下:
<?php
require_once('../class/EfficiencyTester.class.php');
$e = new EfficiencyTester();
echo $e->test('rand');
?>
 
 
一开始我是直接使用 microtime() 获取时间的,后来考虑到如果想获得单位是秒的运行时间,这样写就不够多态了,然后我就写了一个getTime() 的函数来获取不同单位的时间戳,不过这样,貌似目标函数的运行时间变长了,可能是因为 getTime() 函数中的判断占用了一部分时间。

时间: 2024-11-30 11:30:10

php获取目标函数执行时间示例的相关文章

php获取目标函数执行时间示例_php实例

写了一个类用来测试目标函数的执行时间.以下是类的定义代码: 复制代码 代码如下: <?php/** * class EfficiencyTester * 效率测试器,测试函数的运行时间 * @version 1.0 2013.04.13 * @author Kross */class EfficiencyTester {        /**     * var $testTimes     * 测试的次数      */    private $testTimes = 1000;     /*

js获取当前路径的示例代码

 本篇文章主要是对js获取当前路径的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 <script type="text/javascript">     thisURL = document.URL;  thisHREF = document.location.href;  thisSLoc = self.location.href;  thisDLoc = document.location;  strwrite = " thisURL: [

PHP获取页面执行时间的方法(推荐)_php实例

一些循环代码,有时候要知道页面执行的时间,可以添加以下几行代码到页面头部和尾部: 头部: <?php $stime=microtime(true); 尾部: $etime=microtime(true);//获取程序执行结束的时间 $total=$etime-$stime; //计算差值 ?> 最后输出: echo "<br />当前页面执行时间为:{$total} 秒"; 以上所述是小编给大家介绍的PHP获取页面执行时间的方法(推荐),希望对大家有所帮助,如果

PHP获取页面执行时间的方法(推荐)

一些循环代码,有时候要知道页面执行的时间,可以添加以下几行代码到页面头部和尾部: 头部: <?php $stime=microtime(true); 尾部: $etime=microtime(true);//获取程序执行结束的时间 $total=$etime-$stime; //计算差值 ?> 最后输出: echo "<br />当前页面执行时间为:{$total} 秒"; 以上所述是小编给大家介绍的PHP获取页面执行时间的方法(推荐),希望对大家有所帮助,如果

linux获取进程执行时间方法示例_Linux

1.前言 测试一个程序的执行时间,时间包括用户CPU时间.系统CPU时间.时钟时间.之前获取之前时间都是在程序的main函数用time函数实现,这个只能粗略的计算程序的执行时间,不能准确的获取其他时间.在看<APUE>时,书中有关程序时间测试程序,非常正规,提供这三个时间.如是,上网搜了一下,进行总结一下. 2.获取方法 有两种方法可以获取,第一种是用time命令,time 进程.第二种是通过在程序中进行记录,首先利用sysconf函数获取时钟滴答数,再用times获取tms结构. 查看tim

Linux获取进程执行时间

1.前言    测试一个程序的执行时间,时间包括用户CPU时间.系统CPU时间.时钟时间.之前获取之前时间都是在程序的main函数用time函数实现,这个只能粗略的计算程序的执行时间,不能准确的获取其他时间.在看<APUE>时,书中有关程序时间测试程序,非常正规,提供这三个时间.如是,上网搜了一下,进行总结一下. 2.获取方法 有两种方法可以获取,第一种是用time命令,time 进程.第二种是通过在程序中进行记录,首先利用sysconf函数获取时钟滴答数,再用times获取tms结构. 查看

Asp.net获取页面执行时间

大家在编程的时候,经常想测试一下自己这个页面的执行时间,特别是在asp.net测试的过程中, 为了解决这个问题,在下总结了一下页面加载执行时间的方法,供大家学习之用! 一.从服务器端得到 1.在global.asax文件中计算时间 DateTime dt; protected void Application_BeginRequest(Object sender, EventArgs E) { dt = DateTime.Now; } protected void Application_End

JS获取鼠标坐标、获取鼠标像素点示例

 运行代码之后随意移动鼠标的位置,可适时显现鼠标的坐标点,不占用系统资源 JS获取鼠标坐标,获取鼠标像素点的典型实例,运行本页面后,随意移动鼠标的位置,可适时显现鼠标的坐标点,不占用系统资源 .    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <h

android获取当前手机号示例程序_Android

复制代码 代码如下: /*         * 获取当前的手机号         */        public String getLocalNumber() {                TelephonyManager tManager = (TelephonyManager) this                                .getSystemService(TELEPHONY_SERVICE);                String number =