time.h 1.3 KB

12345678910111213141516171819
  1. #include<chrono>
  2. #include<functional>
  3. #include<iostream>
  4. namespace nanxing_test
  5. {
  6. void time_test(std::function<void()> fun )
  7. {
  8. std::chrono::high_resolution_clock::time_point tp1 = std::chrono::high_resolution_clock::now();
  9. fun();
  10. std::chrono::high_resolution_clock::time_point tp2 = std::chrono::high_resolution_clock::now();
  11. std::chrono::duration<size_t, std::nano> dur = tp2 - tp1;
  12. std::cout << "1 被计时代码耗时:" << std::chrono::duration_cast<std::chrono::nanoseconds>(dur).count() << " 纳秒" << std::endl;
  13. std::cout << "2 被计时代码耗时:" << std::chrono::duration_cast<std::chrono::microseconds>(dur).count() << " 微妙" << std::endl;
  14. std::cout << "3 被计时代码耗时:" << std::chrono::duration_cast<std::chrono::milliseconds>(dur).count() << " 毫秒" << std::endl;
  15. std::cout << "4 被计时代码耗时:" << std::chrono::duration_cast<std::chrono::seconds>(dur).count() << " 秒钟" << std::endl;
  16. std::cout << "5 被计时代码耗时:" << std::chrono::duration_cast<std::chrono::minutes>(dur).count() << " 分钟" << std::endl;
  17. std::cout << "6 被计时代码耗时:" << std::chrono::duration_cast<std::chrono::hours>(dur).count() << " 小时" << std::endl;
  18. }
  19. }