chrono 헤더 사용하여 c++ 함수 측정 시간을 측정하기
다음은 간단한 예제이다.
#include <iostream>
#include <chrono> // 시간 관련 기능을 포함하는 헤더
void someFunction() {
// 이 함수에서는 1초 동안 멈춥니다. 실제 코드에서는 당신의 함수 로직을 넣어주세요.
std::this_thread::sleep_for(std::chrono::seconds(1));
}
int main() {
// 시작 시간 측정
auto start = std::chrono::high_resolution_clock::now();
// 함수 실행
someFunction();
// 종료 시간 측정
auto stop = std::chrono::high_resolution_clock::now();
// 경과 시간 계산
auto duration = std::chrono::duration_cast<std::chrono::microseconds>(stop - start);
std::cout << "Time taken by function: " << duration.count() << " microseconds" << std::endl;
return 0;
}
using namespce 사용하여 코드 줄이기
using namespace std;를 사용하면 std:: 접두사 없이 표준 라이브러리의 이름을 직접 사용할 수 있다. (using namespace chrono도 가능하다고 알고있음)
하지만 대규모 프로젝트나 라이브러리를 작성할 때는 이름 충돌의 위험이 있기 때문에 권장되지 않는다.
때문에 작은 프로그램이나 간단한 예제에서는 코드의 가독성을 높이기 위해 사용될 수 있다.
다음은 using namespace std;와 using namespace chrono를 사용하여 코드를 간소화한 예제이다.
#include <iostream>
#include <chrono>
#include <thread>
using namespace std; // std 네임스페이스 사용
using namespace chrono; // chrono 네임스페이스 사용
void someFunction() {
this_thread::sleep_for(seconds(1)); // chrono:: 접두사 없이 seconds 사용
}
int main() {
auto start = high_resolution_clock::now(); // chrono:: 접두사 없이 high_resolution_clock 사용
someFunction();
auto stop = high_resolution_clock::now();
auto duration = duration_cast<microseconds>(stop - start); // chrono:: 접두사 없이 duration_cast와 microseconds 사용
cout << "Time taken by function: " << duration.count() << " microseconds" << endl;
return 0;
}
'개발공부 > C++' 카테고리의 다른 글
[C++] 멀티 쓰레드, 프로세스, 쓰레드 이해하기, C++ 예제 (0) | 2023.09.20 |
---|---|
[C++] MFC 다이얼로그 중심에 원 그리기 (0) | 2023.09.20 |
[C++] 여러 조건 변경하기, Cpen 색 변경, define (0) | 2023.09.19 |
[C++] MFC 다른 윈도우로 포인트 복제하기 (1) | 2023.09.18 |
[C++] MFC 듀얼이미지 다이얼로그 (0) | 2023.09.18 |