---C++ 역량 강화---/STL 공부

high_resolution_clock

코리아탑클 2024. 5. 29. 10:04

==헤더 파일==

#include <chrono>

 

[clock]: 시계 타입

system_clock, steady_clock, high_resolution_clock 등이 있다.

 

std::chrono::high_resolution_clock::now()

1. 가장 높은 정밀도를 제공하는 시계를 나타낸다.

시스템에서 사용할 수 있는 가장 정확한 타이머를 사용한다.

2. 현재 시간을 측정하여 반환한다.

현재 시간을 time_point 객체로 반환한다.

time_point는 특정 시점을 나타낸다.

3. 결론: 고해상도로 현재 시간을 측정할 수 있다. 

코드 실행 시간이나 이벤트 발생 시간을 정확하게 기록할 수 있다.

성능 측정, 프로파일링, 타이밍 등의 목적으로 사용한다.

 

==고해상도 시계란?==

하드웨어 타이머(CPU 타이머 등)을 사용하여 높은 정밀도를 구현한다.

 

std::chrono::duration_cast

1. 다른 시간 단위로 변환할 때 사용한다.

2. 예를 들어 초 단위를 밀리초 단위로 변환할 수 있다. std::chrono::duration_cast<milliseconds>(end - start).count() 

1초 = 1000ms

 

x86 cpu 안에 tsc 레지스터가 있다. (하이 리솔루션 클락)
reset 또는 power_on = > 0으로 초기화
매 클럭 +=1