fork download
  1. #include <iostream>
  2. #include <chrono>
  3.  
  4. struct Foo {};
  5.  
  6. int main()
  7. {
  8. const std::size_t N = 100000000;
  9.  
  10. // struct
  11. auto start = std::chrono::steady_clock::now();
  12. volatile Foo a;
  13. for (std::size_t i = 0 ; i < N; ++i)
  14. a;
  15. auto end = std::chrono::steady_clock::now();
  16. std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count()
  17. << " ms" << std::endl;
  18.  
  19. // int
  20. start = std::chrono::steady_clock::now();
  21. volatile int b;
  22. for (std::size_t i = 0 ; i < N; ++i)
  23. b;
  24. end = std::chrono::steady_clock::now();
  25. std::cout << std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count()
  26. << " ms" << std::endl;
  27. }
Success #stdin #stdout 0.09s 3096KB
stdin
Standard input is empty
stdout
0 ms
91 ms