반응형
기존의 C++ 라이브러리는 시간을 계산하는 방법이 정밀하지 않았습니다. 최소한의 정밀하게 측정할 수 있는 시간이 10ms 정도였습니다. 다른 방법이 있었지만 C++ 표준에서 제공하는 것이 아니라 운영체제에서 제공하는 방법이었습니다. C++11에서는 나노초까지 계산할 수 있는 chrono를 추가하였습니다.
#include <iostream> #include <chrono> using namespace std; using namespace chrono; int main() { system_clock::time_point startTime = system_clock::now(); for (auto i = 0; i < 1000000; i++); system_clock::time_point endTime = system_clock::now(); nanoseconds nano = endTime - startTime; cout << "나노초: " << nano.count() << endl; return 0; } | cs |
time_point는 시간 지점을 나타내는 자료구조 입니다. now()는 현재 지점을 나타내는 함수입니다. now()를 이용하여 현재 시각에 대한 정보를 저장합니다. 약 100만 번의 루프를 실행하고 걸린 시간은 2,198,100 나나초가 걸린 것을 알 수 있습니다. 과연 여러분은 어느정도 나오시나요? 저는 참고로 노트북입니다. 엣햄
반응형
'SW > C++' 카테고리의 다른 글
[ C++ ] mutex 개념 및 예제 (0) | 2018.11.16 |
---|---|
[ C++ ] thread 개념 및 예제 (0) | 2018.11.16 |
[ C++ ] foward_list 개념 및 예제 (0) | 2018.11.16 |
[ C++ ] array 개념 및 예제 (0) | 2018.11.16 |
[ C++ ] tuple 개념 및 예제 (1) | 2018.11.16 |