You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MacOS中获取命令多次执行的平均毫秒级执行时间?

在MacOS中统计命令多次执行的平均耗时

给你写了个可以直接添加到.bashrc或.zshrc的函数,支持自定义执行次数和任意命令格式,最终输出平均执行时间(毫秒单位):

avg_time() {
    local iterations=$1
    shift
    local total=0
    local real_time
    for ((i=0; i<iterations; i++)); do
        # 捕获系统time工具的耗时输出,忽略命令本身的输出
        real_time=$(/usr/bin/time -f "%E" "$@" 2>&1 >/dev/null)
        # 处理分:秒格式的时间,转换为总秒数
        if [[ $real_time == *:* ]]; then
            local minutes=${real_time%%:*}
            local seconds=${real_time#*:}
            real_time=$(echo "$minutes*60 + $seconds" | bc -l)
        fi
        # 累加总耗时
        total=$(echo "$total + $real_time" | bc -l)
    done
    # 计算平均耗时并转换为毫秒,保留两位小数
    local avg=$(echo "$total / $iterations * 1000" | bc -l)
    printf "平均执行时间: %.2f 毫秒\n" "$avg"
}

用法示例

  • 执行10次ls -l命令并统计平均耗时:avg_time 10 ls -l
  • 执行5次sleep 0.2命令(预期平均耗时约200毫秒):avg_time 5 sleep 0.2

注意事项

  • 函数依赖MacOS自带的/usr/bin/time和bc工具,无需额外安装
  • 若需要保留命令本身的输出,可删除代码中的>/dev/null部分
  • zsh环境完全兼容,直接添加到.zshrc即可生效,添加后执行source ~/.zshrc使函数立即可用

内容的提问来源于stack exchange,提问作者Clerni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 16:25:02