Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 및 Linux로 고해상도 타이머를 만드는 방법은 무엇입니까?

<시간/>

고해상도 타이머를 생성하기 위해 크로노 라이브러리를 사용할 수 있습니다. 이 라이브러리에는 고해상도 시계가 있습니다. 나노초 단위로 계산할 수 있습니다.

이 프로그램에서 우리는 나노초 단위의 실행 시간을 볼 것입니다. 처음에 시간 값을 취한 다음 마지막에 다른 시간 값을 취한 다음 경과 시간을 얻기 위해 차이를 찾습니다. 여기서 우리는 때때로 효과를 일시 중지하기 위해 공백 루프를 사용하고 있습니다.

예시

#include <iostream>
#include <chrono>
typedef std::chrono::high_resolution_clock Clock;
main(){
   auto start_time = Clock::now();
   for(int i = 0; i<200000000; i++) {
      //create one empty loop ;
   }
   auto end_time = Clock::now();
   std::cout << "Time difference:"
      << std::chrono::duration_cast<std::chrono::nanoseconds>(end_time - start_time).count() << " nanoseconds" << std::endl;
}

출력

Time difference: 536395307 nanoseconds