2004년 2월 12일 목요일

프로그램을 수행 시키고 그 프로그램의 수행 시간 알아내기

man time - time a simple command or give resource usage

$ time <실행파일명>

real     : 실제 경과 시간
user    : user space에서 쓴 시간
sys     : kernel space에서 쓴 시간

cf) c에서 time()함수는 현재 시각을 얻을 때 쓴다.


예제) 여러 프로그램이 전부 수행된 시각의 합을 구할 때.

$ time sh -c "sleep 2 ; sleep 2"

real    0m4.024s
user    0m0.000s
sys     0m0.010s

잘못된 예) $time sleep 2; sleep 2 라고 하면 답이 2초라고 나온다.

$ \time -v ls
(\를 주지 않으면 -v 옵션을 해석하지 못할 수도 있다.)

프로그램 내부에서 쓰는 함수 : getrusage()

http://wiki.4wish.net/wiki/moin.cgi/LinuxIOPortHowto
http://kdaq.empas.com/dbdic/db_view.jsp?ps=src&num=3746389
http://blog.empas.com/dndzid/1105406
http://www.mytears.org/resources/doc/linux/man/man2/gettimeofday.2.html

다른 방법)gprof 같은 profiling tool을 돌린다.

댓글 없음:

댓글 쓰기