linux - 脚本的时间部分(运行时间)
问题描述
有了它,time script.sh
您将获得运行脚本所需的时间,但是如果您想为脚本的一部分计时?
假设我想测试一个循环需要多长时间,我可以使用$SECONDS函数,但是有没有可以计算毫秒的计时器?
例如在长代码的中间:
timerstart
until [[ $loop -eq 10000 ]]; do
((++loop))
echo "annoying"
done
timerstop
然后在脚本的最后,我只添加echo $timerresult
,它会显示只运行所选代码而不是脚本的其余部分需要多少毫秒
我正在寻找这个解决方案,所以我可以测试部分脚本的“缓慢”..这可以解决吗?
解决方案
对于 Bash 5.0 及更高版本,您可以使用$EPOCHREALTIME
:
[...] 它扩展到自 Unix 纪元以来的秒数,作为具有微秒粒度的浮点值 [...]
start=$EPOCHREALTIME
for ((i = 0; i < 10000; ++i)); do
echo "annoying"
done
stop=$EPOCHREALTIME
elapsed=$(bc -l <<< "$stop - $start")
推荐阅读
- ionic-framework - Moodle mobile ionic 1 app PDF 文件无法在某些设备中打开
- java - 春天MVC。为什么资源在 JSP 页面中不可见?
- continuous-integration - Nuget Push上的Gitlab Runner 403禁止错误
- php - 如何使用 codeignator 在数据库中插入文件名并在文件夹中插入文件?
- angular - 角度计数器触发事件
- javascript - ChartJS 响应式调整打印大小 - 在 Firefox/IE11/Edge 中不起作用
- asp.net-mvc - 如何将创建的文件附加到邮件 mvc
- twitter-bootstrap - 在 Boostrap 4 中覆盖/自定义 mixin
- javascript - 在 Microsoft Teams 中使用 Word 时调用对话框 api 会打开浏览器
- twig - 覆盖 bolt.cms 中的后端模板