2017-03-31 45 views
2

我知道你可以使用这样的事情每个独立的功能的编译时间:如何获取命令运行所需的总时间?

xcodebuild -workspace App.xcworkspace -scheme App clean build OTHER_SWIFT_FLAGS="-Xfrontend -debug-time-function-bodies" | grep .[0-9]ms | grep -v ^0.[0-9]ms | sort -nr > culprits.txt 

或本

defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES 

,但我怎样才能在命令行打印出来的总建造时间?

回答

2

稍微更有效的方法 - 在这里我们称之为date只有两次:

#!/bin/bash 
start_time=$(date +%s) 
# xcode command here 
end_time=$(date +%s) 
printf 'Elapsed time is %d seconds\n' $((end_time - start_time)) 

这是可能的获取当前时间即使不分叉,用printf

#!/bin/bash 
printf -v start_time '%(%s)T' -1 
# xcode command here 
printf -v end_time '%(%s)T' -1 
printf 'Elapsed time is %d seconds\n' $((end_time - start_time)) 
1

我想最简单的方法是运行像这样:

#!/bin/sh 

COMPILE_START=`date` 
# your compile commands 
COMPILE_END=`date` 
printf "%s\n" $(($(date -d "$COMPILE_END" "+%s") \ 
       - $(date -d "$COMPILE_START" "+%s"))) 
1

假设它是bash命令:

startTime=$(date +%s) 

#Your commands 

finishTime=$(date +%s) 
timeElapsed=$((finishTime - startTime)) 
minute=$((timeElapsed/60)) 
sec=$((timeElapsed % 60)) 
echo Total time: $minute min $sec sec