php microtime获取浮点的时间戳


Posted in PHP onFebruary 21, 2010

一直以来用这个函数获取:

function microtime_float(){ 
list($usec, $sec) = explode(" ", microtime()); 
return ((float)$usec + (float)$sec); 
}

看到别人的源码中用microtime(true),查了下手册,原来从PHP 5.0.0 开始,microtime增加了这个参数。
引用
mixed microtime ( [bool get_as_float] ) 
microtime() 当前 Unix 时间戳以及微秒数。本函数仅在支持 gettimeofday() 系统调用的操作系统下可用。 
如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。 
如果给出了 get_as_float 参数并且其值等价于 TRUE,microtime() 将返回一个浮点数。 
注意: get_as_float 参数是 PHP 5.0.0 新加的。

如果程序肯定在PHP5以上的环境运行,那么就直接使用microtime(true)吧,比使用microtime_float函数至少快两倍。以下是我简单测试的程序代码。
<?php 
function microtime_float3(){ 
return microtime(true); 
} 
function microtime_float2(){ 
if( PHP_VERSION > 5){ 
return microtime(true); 
}else{ 
list($usec, $sec) = explode(" ", microtime()); 
return ((float)$usec + (float)$sec); 
} 
} 
function microtime_float(){ 
list($usec, $sec) = explode(" ", microtime()); 
return ((float)$usec + (float)$sec); 
} 
function runtime($t1){ 
return number_format((microtime_float() - $t1)*1000, 4).'ms'; 
} 
$t1 = microtime_float(); 
for($i=0;$i<10000;$i++){ 
microtime_float(); 
} 
echo "microtime_float====="; 
echo runtime($t1).'<br>'; 
$t1 = microtime(true); 
for($i=0;$i<10000;$i++){ 
microtime(true); 
} 
echo "microtime_true====="; 
echo runtime($t1).'<br>'; 
$t1 = microtime(true); 
for($i=0;$i<10000;$i++){ 
microtime_float2(); 
} 
echo "microtime_float2====="; 
echo runtime($t1).'<br>'; 
$t1 = microtime(true); 
for($i=0;$i<10000;$i++){ 
microtime_float3(); 
} 
echo "microtime_float3====="; 
echo runtime($t1).'<br>'; 
?>

本机winxp运行结果:
microtime_float=====109.5631ms
microtime_true=====38.8160ms
microtime_float2=====52.7902ms
microtime_float3=====45.0699ms
Linux上运行结果:
microtime_float=====47.2510ms
microtime_true=====9.2051ms
microtime_float2=====16.3319ms
microtime_float3=====12.2800ms
在PHP5的环境下,直接使用microtime(true);显然是最快的。microtime_float2和microtime_float3都可以在不改变原有程序的情况下,直接修改函数内容来实现性能的轻微提升。microtime_float2可以做为兼容旧版本的写法。
PHP 相关文章推荐
cache_lite试用
Feb 14 PHP
php数组的一些常见操作汇总
Jul 17 PHP
基于Discuz security.inc.php代码的深入分析
Jun 03 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
May 23 PHP
php实现的短网址算法分享
Jun 20 PHP
windows下配置php5.5开发环境及开发扩展
Dec 25 PHP
php计算给定时间之前的函数用法实例
Apr 03 PHP
php面向对象编程self和static的区别
May 08 PHP
PHP弱类型的安全问题详细总结
Sep 25 PHP
thinkPHP引入类的方法详解
Dec 08 PHP
php实现支持中文的文件下载功能示例
Aug 30 PHP
Laravel6.18.19如何优雅的切换发件账户
Jun 14 PHP
PHP+ajax 无刷新删除数据
Feb 20 #PHP
php 读取文件乱码问题
Feb 20 #PHP
判断是否为指定长度内字符串的php函数
Feb 16 #PHP
支持数组的ADDSLASHES的php函数
Feb 16 #PHP
php htmlspecialchars加强版
Feb 16 #PHP
php 数组二分法查找函数代码
Feb 16 #PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 #PHP
You might like
博士208HAF收音机实习报告
2021/03/02 无线电
PHP内核探索:变量概述
2014/01/30 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
webuploader模态框ueditor显示问题解决方法
2016/12/27 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
JS脚本加载后执行相应回调函数的操作方法
2018/02/28 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
nodejs实现套接字服务功能详解
2018/06/21 NodeJs
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
Python判断某个用户对某个文件的权限
2016/10/13 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
python3 property装饰器实现原理与用法示例
2019/05/15 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
python怎么提高计算速度
2020/06/11 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
详解利用canvas实现环形进度条的方法
2019/06/12 HTML / CSS
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
计算机本科生自荐信
2013/10/15 职场文书
超市促销活动方案
2014/03/05 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
刘胡兰观后感
2015/06/16 职场文书
婚礼长辈答谢词
2015/09/29 职场文书