fork download
  1. #pragma GCC optimize("O2")
  2. #include <bits/stdc++.h>
  3.  
  4. using namespace std;
  5.  
  6. struct timeit {
  7. decltype(chrono::high_resolution_clock::now()) begin;
  8. const string label;
  9. timeit(string label = "???") : label(label) { begin = chrono::high_resolution_clock::now(); }
  10. ~timeit() {
  11. auto end = chrono::high_resolution_clock::now();
  12. auto duration = chrono::duration_cast<chrono::milliseconds>(end - begin).count();
  13. cerr << duration << "ms elapsed [" << label << "]" << endl;
  14. }
  15. };
  16. const int MAXN = 1e6 + 5;
  17. const int ITERS = 100;
  18. signed main() {
  19. ios::sync_with_stdio(0);
  20. cin.tie(0);
  21. vector<int> vc(MAXN);
  22. {
  23. timeit t("vector char memset");
  24. for (int t = 0; t < ITERS; t++)
  25. fill(vc.begin(), vc.end(),0);
  26. }
  27. {
  28. timeit t("vector char loop");
  29. for (int t = 0; t < ITERS; t++)
  30. for (auto &i : vc)
  31. i = 0;
  32. }
  33. }
Success #stdin #stdout #stderr 0.06s 15240KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
33ms elapsed [vector char memset]
30ms elapsed [vector char loop]