找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1706|回复: 0
打印 上一主题 下一主题

使用php-timeit估计php函数的执行时间

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:42:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            废话不多说了,直接把我写的timeit函数分享给大家,具体内容如下:
/**
* Compute the delay to execute a function a number of time
* @param $count Number of time that the tests will execute the given function
* @param $function  the function to test. Can be a string with parameters (ex: 'myfunc(123, 0, 342)') or a callback
* @return float   Duration in seconds (as a float)
*/
function timeit($count, $function) {
if ($count
  测试一下自己写的一个求根算法与系统内置求根函数的执行时间,如下:
//取平方根
function sqrt_nd($num){
$value = $num;
while(abs($value*$value -$num) > 0.001){
  $value = ($value + $num/$value)/2;
}
return $value;
}
print timeit(1000, 'sqrt_nd(5)');
print "\n";
print timeit(1000, 'sqrt(5)');
  测试结果如下:
0.028280019760132
0.0041000843048096
  可见,内置求根函数比自定义的求根函数快了6倍多~~
php中检测函数执行时间的功能使用的方法
PHP 中的 microtime() 函数可以实现
microtime() 函数返回当前 Unix 时间戳和微秒数。
microtime(get_as_float)
参数说明
get_as_float 如果给出了 get_as_float 参数并且其值等价于 TRUE,该函数将返回一个浮点数。
本函数仅在支持 gettimeofday() 系统调用的操作系统下可用。
例如:
echo '循环执行时间为:'.($end_time-$start_time).' s';
?>
            
            
您可能感兴趣的文章:
  • 利用PHP函数计算中英文字符串长度的方法
  • PHP函数extension_loaded()用法实例
  • php函数重载的替代方法--伪重载详解
  • 7个鲜为人知却非常实用的PHP函数
  • 分享PHP函数实现数字与文字分页代码
  • php函数连续调用实例分析
  • ThinkPHP函数详解之M方法和R方法
  • 10个php函数实用却不常见
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端