Computer >> Máy Tính >  >> Lập trình >> C ++

Đo thời gian thực hiện với độ chính xác cao trong C / C ++

Để tạo bộ đếm thời gian có độ chính xác cao, chúng ta có thể sử dụng thư viện chrono. Thư viện này có đồng hồ độ phân giải cao. Điều này có thể tính bằng nano giây.

Trong chương trình này, chúng ta sẽ thấy thời gian thực thi tính bằng nano giây. Chúng tôi sẽ lấy giá trị thời gian lúc đầu, sau đó là giá trị thời gian khác ở cuối cùng, sau đó tìm sự khác biệt để có được thời gian đã trôi qua. Ở đây chúng tôi đang sử dụng vòng lặp trống để đôi khi tạm dừng hiệu ứng.

Ví dụ

#include <iostream>
#include <chrono>
typedef std::chrono::high_resolution_clock Clock;
main() {
   auto start_time = Clock::now();
   for(int i = 0; i<200000000; i++ ){ //create one empty loop
      ;
   }
   auto end_time = Clock::now();
   std::cout << "Time difference: " << std::chrono::duration_cast<std::chrono::nanoseconds>(end_time    - start_time).count() << " nanoseconds" << std::endl;
}

Đầu ra

Time difference: 536395307 nanoseconds