做一些php性能测试的时候,要获取代码执行时间和消耗的内存,查了一下资料,发现php有自带的函数可以实现这个功能,具体实现代码如下:
$t1 = microtime(true); // ... 执行代码 ... $t2 = microtime(true); echo '耗时: ' . round($t2 - $t1, 3) . '秒<br>'; echo '消耗内存: ' . memory_get_usage() . '<br />';
注: microtime() 加上 true 参数, 返回的将是一个浮点类型. 这样 t1 和 t2 得到的就是两个浮点数, 相减之后得到之间的差. 由于浮点的位数很长, 或者说不确定, 所以使用 round() 取出小数点后 3 位。
memory_get_usage() 返回的单位是b,/1024得到kb,/(1024*1024)得到mb,依次类推。
function memory_usage() { $memory = (!function_exists('memory_get_usage')) ? '0' : round(memory_get_usage() / 1024 / 1024, 2) . 'MB'; return $memory; }