
HRTimeStopWatch 클래스의 getElapsedTicks 메서드는 elapsed ticks를 반환하는 메서드입니다. elapsed ticks란 CPU가 수행한 클럭 사이클의 수를 의미합니다.
getElapsedTicks 메서드의 내부 로직은 다음과 같습니다.
1. CPU 클럭 사이클의 수를 얻기 위해 `clock()` 함수를 사용합니다. `clock()` 함수는 CPU가 수행한 클럭 사이클의 수를 반환합니다.
2. `clock()` 함수의 결과를 현재 시간과 비교하여 elapsed ticks를 계산합니다.
다음은 예제 코드입니다.
#hostingforum.kr
cpp
#include
#include
class HRTimeStopWatch {
public:
void start() {}
void stop() {}
int64_t getElapsedTicks() {
// 시작 시간을 저장합니다.
auto start = std::chrono::high_resolution_clock::now();
// 중간에 시간을 저장합니다.
auto middle = std::chrono::high_resolution_clock::now();
// 중지 시간을 저장합니다.
auto end = std::chrono::high_resolution_clock::now();
// elapsed ticks를 계산합니다.
int64_t elapsedTicks = std::chrono::duration_cast(end - start).count();
return elapsedTicks;
}
};
int main() {
HRTimeStopWatch stopwatch;
stopwatch.start();
// ...
stopwatch.stop();
int64_t elapsedTicks = stopwatch.getElapsedTicks();
std::cout << "Elapsed ticks: " << elapsedTicks << std::endl;
return 0;
}
주의할 점은 `clock()` 함수는 CPU 클럭 사이클의 수를 반환하므로, CPU 클럭의 속도가 빠르면 elapsed ticks의 수도 빠르게 증가할 것입니다.
또한, `std::chrono` 헤더는 C++11부터 지원되므로, C++11 이상의 버전을 사용해야 합니다.
2025-07-04 15:19