美文网首页
获取代码执行时间

获取代码执行时间

作者: 菜菜子MJ | 来源:发表于2020-08-04 14:56 被阅读0次

脚本

#!/bin/bash
#set -x

task=result_get_time
mkdir -p ${task}

total_time=0
function getTiming() {
  local start=$1
  local end=$2

  local start_s=`echo $start| cut -d '.' -f 1`
  local start_ns=`echo $start| cut -d '.' -f 2`
  local end_s=`echo $end| cut -d '.' -f 1`
  local end_ns=`echo $end| cut -d '.' -f 2`

  local time_micro=$(( (10#$end_s-10#$start_s)*1000000 + (10#$end_ns/1000 - 10#$start_ns/1000) ))
  local time_ms=`expr $time_micro/1000 | bc `
  local time_s_single=`echo "scale=5;${time_ms} / 1000 / 100" | bc | awk '{printf "%.3f", $0}'`
  total_time=`echo "scale=5;${total_time} + ${time_s_single}" | bc | awk '{printf "%.3f", $0}'`

  echo "stage ${3}" >> ${task}/time_log
  echo "$time_micro microseconds" >> ${task}/time_log
  echo "$time_ms ms" >> ${task}/time_log
  echo "$time_s_single s/wav" >> ${task}/time_log
}

begin_time=`date +%s.%N`
sleep 1
end_time=`date +%s.%N`
getTiming $begin_time $end_time get_time_1
echo "total_time="${total_time} | tee -a get_time.log

begin_time=`date +%s.%N`
sleep 3
end_time=`date +%s.%N`
getTiming $begin_time $end_time get_time_3
echo "total_time="${total_time} | tee -a get_time.log

用法

./run.sh 或 bash run.sh

效果

获取一段代码的执行时间,累计到总执行时间,输出到标准输出,同时追加到文件
bc计算精度用scale控制,输出精度用awk控制

相关文章

  • 获取代码的执行时间

    如何获取一段代码的执行时间:

  • 获取代码执行时间

    脚本 用法 ./run.sh 或 bash run.sh 效果 获取一段代码的执行时间,累计到总执行时间,输出到...

  • Time Profile

    Time Profiler是Instruments工具包提供的,用来分析项目中代码的执行时间,能获取到整个应用程序...

  • 复杂度

    所有代码的执行时间与每行代码的执行次数成正比。 大 O 时间复杂度实际上并不具体表示代码真正的执行时间,而是代码的...

  • 检测代码执行时间的方法

    整理了两种iOS中获取一个方法执行时间的方法,不多说,直接上代码方法一需要导入头文件 #import

  • TraceView

    使用代码生成.trace文件,分析代码执行时间通过Debug class 检测代码生成logs保存到.trace文...

  • iOS 开发小技巧

    如何快速的查看一段代码的执行时间。 在想要查看执行时间的代码的地方进行这么处理 view 的锯齿化的问题 在使用v...

  • iOS-查看一段代码的执行时间

    如何快速的查看一段代码的执行时间

  • iOS打印某段代码执行时间

    打印某段耗时代码执行时间,如下所示: 以上。

  • 代码执行时间

    CFAbsoluteTime startTime =CFAbsoluteTimeGetCurrent(); //在...

网友评论

      本文标题:获取代码执行时间

      本文链接:https://www.haomeiwen.com/subject/bcdwrktx.html