2014-03-02 3 views
0

일반적으로 IDE에서 프로그램을 실행할 때 IDE는 프로그램을 실행하는 데 걸린 총 시간을 알려줍니다. 유닉스/리눅스에서 터미널을 사용하여 컴파일하고 실행할 때 프로그램을 실행하는 데 걸리는 총 시간을 얻는 방법이 있습니까?총 프로그램 시간을 추적하는 방법은 무엇입니까?

저는 ctime이 1970 년 이래로 전체 시간을 가져 오는 것을 허용하고 있지만, 프로그램을 실행하는 데 걸리는 시간을 얻고 싶습니다.

+0

글자 그대로해야 할 일은 [google] (https://www.google.cl/?gfe_rd=cr&ei=A3cSU6PTNYWF8QeQy4D4Aw#q=How+to+track+total+time+of+program+linux)입니다. 리눅스를 추가하는 타이틀. – ierceg

+0

인터넷 검색을 할 때 찾을 수있는 모든 것은 ctime이며, 나는 @ierceg를 언급합니다. – Valrok

+0

내 잘못입니다. 문제는 Google 거품입니다. 어제 내 첫 번째 결과 (바탕 화면과 모바일에서는 그렇지 않습니다)는 [시간]이었습니다 (http://en.wikipedia.org/wiki/Time_ (Unix)). 당신은 다른 것을 보았음에 틀림 없습니다. 아이러니하게도, 오늘 나에게 동일한 쿼리에 대한 첫 번째 대답은이 스레드입니다. 어쨌든, 소음 때문에 유감입니다. – ierceg

답변

4

당신은 시간에 프로그램을 시작할 수 있습니다 부록으로

[:~/tmp] $ time sleep 1 

real 0m1.007s 
user 0m0.001s 
sys  0m0.003s 
0

을 MDSL의 대답에, 당신은 프로그램 자체에서 그 측정에 가까운 무언가를 얻으려면, 당신은의 시작 시간을 얻을 수 있습니다 프로그램을 끝내고 (1970 년 이후로 말했듯이) 종료 시간에서 시작 시간을 뺍니다.

1

당신은 올바른 길을 걷고 있습니다! 현재 시간을 가져 와서 프로그램 종료 시간에서 뺄 수 있습니다. 아래의 코드는 설명 :

time_t begin = time(0); // get current time 

// Do Stuff // 

time_t end = time(0); // get current time 

// Show number of seconds that have passed since program began // 
std::cout << end - begin << std::endl; 

참고 : 시간 단위는 하나의 초입니다. 더 세분화가 필요하다면, 나는 창문에 QueryPerformanceCounter() 또는 리눅스에 clock_gettime()과 같은 정밀 타이머를 조사하는 것이 좋습니다. 두 경우 모두 코드가 유사하게 작동합니다.

관련 문제