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

Làm cách nào để tạo bộ hẹn giờ độ phân giải cao với C ++ và Linux?

Để tạo bộ đếm thời gian có độ phân giải 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