병렬로 실행되는 복합 명령의 시간을 계산하는 방법은 무엇입니까?

병렬로 실행되는 복합 명령의 시간을 계산하는 방법은 무엇입니까?

전부는 아니지만 대부분의 명령이 병렬로 실행될 때 복합 명령의 시간을 측정하는 방법:

예를 들어 명령은 다음과 같습니다.

comd1 ; comd2 & comd3 & comd4 & comd5 &

나는 노력했다

time (comd1…)

그러나 출력을 보면 일반적 으로 단독으로 실행될 때 실행이 그렇게 빨리 완료되지 않기 comd1때문에 시간 제한만 있다고 추측할 수 있습니다.comd2comd5

답변1

wait모든 백그라운드 프로세스를 기다리도록 하나를 추가할 수 있습니다 .

예:

$ time (sleep 1; sleep 2 & sleep 4 & wait)
real    0m5.007s
user    0m0.004s
sys     0m0.005s

$ time (sleep 1; sleep 6 & sleep 4 & wait)
real    0m7.011s
user    0m0.005s
sys     0m0.003s

관련 정보