반응형
chrono
<chrono>라이브러리C++11
실행 시간 측정(Run Time Measurement)에 사용되며, 시간을 비교적 정밀하게 측정할 수 있다.
#include <iostream> #include <vector> #include <algorithm> #include <random> #include <chrono> using namespace std; class Timer { using clock_t = std::chrono::high_resolution_clock; using second_t = std::chrono::duration<double, std::ratio<1>>; std::chrono::time_point<clock_t> start_time = clock_t::now(); public: void elapsed() { std::chrono::time_point<clock_t> end_time = clock_t::now(); std::cout << std::chrono::duration_cast<second_t>(end_time - start_time).count() << std::endl; } }; int main() { random_device rnd_device; mt19937 mersenne_engin{ rnd_device() }; vector<int> vec(100000); for (size_t i = 0; i < vec.size(); ++i) vec[i] = i; std::shuffle(begin(vec), end(vec), mersenne_engin); /*for (auto& e : vec) cout << e << ' '; cout << endl;*/ Timer timer; std::sort(begin(vec), end(vec)); timer.elapsed(); /*for (auto& e : vec) cout << e << ' '; cout << endl;*/ }
반응형
'SW개발 > C++' 카테고리의 다른 글
| C++ 오버로딩 (Overloading) (0) | 2021.03.16 |
|---|---|
| C++ 따라하며 배우는 C++ 9장 (0) | 2021.03.16 |
| C++ Nested Types (0) | 2021.03.16 |
| C++ 익명 객체 (Anonymous Class) (0) | 2021.03.16 |
| C++ friend (0) | 2021.03.16 |