zoukankan      html  css  js  c++  java
  • 使用微妙计算PHP脚本执行时间

    在PHP中,大多数的时间格式都是以UNIX时间戳表示的,而UNIX时间戳是以s(秒)为最小的计量时间的单位。这对某些应用程序来说不够精确,所以可以调用microtime()返回当前UNIX时间戳和微妙数。该函数的原型如下:

    mixed microtime([bool get_as_float]); //返回当前UNIX时间戳和微妙数

    可以为该函数提供一个可选的布尔型参数,如果在调用时不提供这个参数,本函数以“msec sec”的格式返回一个字符串。其中sec是自UNIX纪元到现在的秒数,而msec是微妙部分,字符串的两部分都是以秒为单位返回的。如果给出了get_as_float参数并且其值等价于TRUE,microtime()将返回一个浮点数。在小数点前面还是以时间戳格式表示,而小数点后面则表示微妙的值。但要注意参数get_as_float是在PHP5.0版本中新加的,所以在PHP5以前的版本中,不能直接使用该参数直接请求一个浮点数。在下面的例子中通过两次调用microtime()函数,计算运行PHP脚本所需要的时间。代码如下所示:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
    //生命一个计算脚本运行时间的类
    class Timer{
    private $startTime = 0; //保存脚本开始执行时的时间(以微秒的形式保存)
    private $stopTime = 0; //保存脚本结束执行时的时间(以微秒的形式保存)
     
    //在脚本开始处调用获取脚本开始时间的微秒值
    function start(){
    $this->startTime = microtime(true); //将获取的时间赋值给成员属性$startTime
    }
    //脚本结束处嗲用脚本结束的时间微秒值
    function stop(){
    $this->stopTime = microtime(true); //将获取的时间赋给成员属性$stopTime
    }
    //返回同一脚本中两次获取时间的差值
    function spent(){
    //计算后4舍5入保留4位返回
    return round(($this->stopTime-$this->startTime),4);
    }
    }
     
    $timer= new Timer();
    $timer->start(); //在脚本文件开始执行时调用这个方法
    usleep(1000); //脚本的主题内容,这里可以休眠一毫秒为例
    $timer->stop(); //在脚本文件结束处调用这个方法
     
    echo "执行该脚本用时<b>".$timer->spent()."</b>";
     
    ?>

    在以上脚本中,声明一个用于计算脚本执行时间的类Timer。需要在脚本执行开始的位置调用该类中的start()方法,获取脚本开始执行时的时间。并在脚本执行结束的位置调用该类中的stop()方法,获取脚本运行结束时的时间。再通过访问该类中的spent()方法,就可以获取运行脚本所需的时间。

     
  • 相关阅读:
    Json字串转换成Java复杂对象
    [Code Snipper]图片轮换
    将CSDN600W用户及密码帐号存入本地MySql数据库
    【转】一个隐形的java int溢出
    【转】展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
    如何在Android 4.0 ICS中禁用StatusBar | SystemBar | 状态栏 【完美版】
    【转】提问的智慧(How To Ask Questions the Smart)
    商业开发实战之VB篇精彩视频
    我的设计原语
    RAPIDXML 中文手册,根据官方文档完整翻译!
  • 原文地址:https://www.cnblogs.com/ncong/p/3911121.html
Copyright © 2011-2022 走看看