시간 명령을 평균화하는 방법은 무엇입니까?

시간 명령을 평균화하는 방법은 무엇입니까?

몇 가지 명령을 실행하고 있습니다 time. 이제 측정값의 평균을 계산하기 위해 지정된 횟수만큼 명령을 실행하고 시간을 측정하고 계산된 평균 및 표준 편차로 결과를 얻으려고 합니다. 결과는 다음과 같습니다:

avgtime -n 100 my_command

real    0m5.388s stdev 0m0.068s
user    0m5.380s stdev 0m0.067s
sys     0m0.004s stdev 0m0.000s

이를 수행할 수 있는 UNIX 도구가 있습니까? GNU/Linux에서 사용할 수 있나요?

답변1

Python이 있는 모든 시스템에서 사용할 수 있는 timeit 모듈을 사용해 볼 수 있습니다.

$ python -m timeit "__import__('os').system('my command here')"
10 loops, best of 3: 591 msec per loop

답변2

슈퍼 파인또 다른 옵션입니다.

사용 예:

hyperfine --warmup 3 'my_command'

바라보다관련 질문.

답변3

정확히 말하면 UNIX나 GNU/Linux 도구는 아니지만 매우 쉽게 사용할 수 있습니다.오른쪽통계컴퓨팅 소프트웨어 환경이를 위해. (난 못해그러나 귀하의 작업에 더 적합한 것을 찾으십시오.)

편집하다물론 벤치마크 패키지가 있습니다 R.rbenchmark. 당연히 포장되어 system.time()있어서 직접 사용해도 됩니다. 아니면 간단한 스톱워치 기능 쌍을 확인해 보세요. 또한보십시오"시스템 명령 실행" @Rosetta 코드(또는 그렇지 않습니다 system("command").)

편집 2방금 봤어이 질문 "스크립트에서 시간 측정"오른쪽의 "관련" 열에서 이를 사용할 수도 있습니다. 즉, 시간을 들여 for 루프( N회)를 수행하고 다시 시간을 들여 시간 범위를 계산하고 로 나눕니다 N. (더 쉽게 time ( for-loop )출력을 구문 분석하고 로 나눕니다 N.)

답변4

두 가지 옵션이 있습니다(현재 debian 및 기타에서 제공):

관련 정보