fork(1) download
  1. #include <iostream>
  2. #include <chrono>
  3.  
  4. class MeasureExecTime
  5. {
  6. static std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> p;
  7. public:
  8. static void start()
  9. {
  10. p = std::chrono::high_resolution_clock::now();
  11. }
  12.  
  13. static void stop(const char *name)
  14. {
  15. auto p2 = std::chrono::high_resolution_clock::now();
  16. auto duration = std::chrono::duration_cast<std::chrono::microseconds>(p2 - p);
  17. std::cerr << name << ": " << duration.count() << "us" << std::endl;
  18. }
  19. };
  20.  
  21. std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds> MeasureExecTime::p{};
  22.  
  23.  
  24. int main() {
  25. MeasureExecTime::start();
  26. std::cout << "test" << std::endl;
  27. MeasureExecTime::stop("std::cout");
  28.  
  29. return 0;
  30. }
Success #stdin #stdout #stderr 0s 4484KB
stdin
Standard input is empty
stdout
test
stderr
std::cout: 47us