php 简单获取执行时间和占用内存
已经封装好函数了,直接看效果
$st_time = getUseTimeAndMemory()['start_time']; // 开始时间
Db::execute($sql); // 业务逻辑
$r = getUseTimeAndMemory(1,$st_time); // 获取执行时间,所占内存
var_dump('耗时:'.$r['use_time']); // 单位:秒
var_dump('程序当前占用内存:'.$r['cur_memory']);
var_dump('程序占用内存的峰值:'.$r['max_memory']);
打印结果:
下面是封装的函数
// 获取运行时间 和 占用内存
function getUseTimeAndMemory($end = 0,$start_time = 0){
if ($end == 0){ // 获取开始时间
return ['start_time' => microtime(true)];
}else{ // 获取结束时间 和 进程峰值内存
return [
'use_time' => number_format( ( microtime(true) - $start_time ),10,'.','') ,
'max_memory' => formatBytes(memory_get_peak_usage()),
'cur_memory' => formatBytes(memory_get_usage())
];
}
}
// 将memory_get_usage的字节转为MB
function formatBytes($bytes, $precision = 2) {
$units = array("b", "kb", "mb", "gb", "tb");
$bytes = max($bytes, 0);
$pow = floor(($bytes ? log($bytes) : 0) / log(1024));
$pow = min($pow, count($units) - 1);
$bytes /= (1 << (10 * $pow));
return round($bytes, $precision) . " " . $units[$pow];
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通