shell 计算代码运行时间

做性能测试的时候,经常需要得到程序运行时间。

写了个简答的shell脚本,供同学们参考。

#!/bin/bash

function handle()
{
    start=$(date +%s%N)
    start_ms=${start:0:16}
    awk '{a[$1]++} END{print length(a)}' breakfast_all receptions_all cheap_all
    end=$(date +%s%N)
    end_ms=${end:0:16}
    echo "cost time is:"
    echo "scale=6;($end_ms - $start_ms)/1000000" | bc
}

handle


代码思路比较清晰 %s是精确到秒,%N是纳秒,取字符串前16位,得到的是秒后小数点六位。再除以1000000,最终的结果为以s为单位,精确到小数点后6位。

需要不同的精度,调整字符串截取的位数即可。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
shell脚本中统计程序执行时间有几种方法。一种方法是使用date命令来记录开始时间和结束时间,然后计算它们之间的时间差。例如,可以使用以下命令获取开始时间和结束时间,并计算它们之间的差值: ``` startTime=`date +%Y%m%d-%H:%M:%S` startTime_s=`date +%s` # 脚本执行的代码 endTime=`date +%Y%m%d-%H:%M:%S` endTime_s=`date +%s` sumTime=$[ $endTime_s - $startTime_s ] echo "$startTime ---> $endTime" "Total: $sumTime seconds" ``` 另一种方法是使用time工具来计算脚本的执行时间。当你运行一个脚本时,在脚本前加上time关键字,例如`time sh xxx.sh`,会返回三个时间数据: - real:该命令的总耗时,包括用户、系统和IO等待时间。 - user:该命令在用户模式下的CPU耗时,即内核外的CPU耗时,不包括IO等待时间。 - sys:该命令在内核中的CPU耗时,不包括IO和时间片切换耗时。 使用这两种方法之一,你可以方便地统计shell脚本的运行时间。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【ShellShell时间相关|统计Shell脚本执行时间|sleep](https://blog.csdn.net/bandaoyu/article/details/115525067)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值