分享编程~
 
php计算程序运行时间以及程序占用内存

当在调试代码和代码优化时通过计算程序运行时间以及内存开销是很有必要的,通过microtime()函数可以获得时间戳的微秒数,通过memory_get_usage()函数可以获得系统分配的内存大小。

函数讲解

microtime(get_as_float)函数返回当前 Unix 时间戳的微秒数,get_as_float可选,当设置为 TRUE 时,规定函数返回浮点数,FALSE 则返回字符串,默认为 FALSE。

示例:

echo microtime() // 0.99154900 1595469500

echo microtime(true) // 1595469500.9915

memory_get_usage(real_usage)函数返回分配给 PHP 的内存量,单位是字节(byte)。real_usage如果设置为 TRUE 获取系统分配总的内存尺寸,包括未使用的页。如果设置为 FALSE 报告实际使用的内存量,默认为 FALSE。

示例:

echo memory_get_usage(); // 362280

echo memory_get_usage(true); // 2097152

函数应用

/**
 * 程序运行计算
 */
function runExpend($param=array()){
	if(!$param){
		return array('startTime'=>microtime(true),'startRam'=>memory_get_usage());
	}
	return array(
		'times'=>round((microtime(true) - $param['startTime']), 3).'s',
		'ram'=>round((memory_get_usage() - $param['startRam']) / 1024, 2).'kb'
	);
}

// 第一次调用自动设置初始值
$runParam = runExpend();

// 业务程序代码块 - start
for($i=0;$i<100000000;$i++){
	$i;
}
// 业务程序代码块 - end

// 第二次调用并给予第一次的返回值
$runVar = runExpend($runParam);
// 打印结果
print_r($runVar);

打印内容示例:

Array
(
    [times] => 1.659s
    [ram] => 0.29kb
)


上一篇:php数组、字符串写入php文件中
赞(0) 踩(0)
赏金
微 信
赏金
支付宝
您说多少就多少,您的支持是我最大的动力