Facebook
From piotoor, 5 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 209
  1. #include <iostream>
  2. #include <vector>
  3. #include <cstring>
  4. #include <chrono>
  5. using namespace std;
  6.  
  7. int main(int argc, char* argv[])
  8. {
  9.     int trials = 0;
  10.     if(argc == 2)
  11.     {
  12.         trials = atoi(argv[1]);
  13.     }
  14.     int tab[1000000];
  15.     vector<int> vect;
  16.     for(int i = 0; i < 1000000; i++)
  17.     {
  18.         tab[i] = i + 3;
  19.         vect.push_back(i + 3);
  20.     }
  21.     auto start = chrono::steady_clock::now();
  22.     for(int j = 0; j < trials; j++)
  23.     {
  24.         tab[0] += trials;
  25.         memmove(tab, tab + 1, 1000000 - 2 - j);
  26.     }
  27.     auto end = chrono::steady_clock::now();
  28.  
  29.     cout << "memcpy time in ms : "
  30.                 << chrono::duration_cast<chrono::milliseconds>(end - start).count()
  31.         << endl;
  32.  
  33.  
  34.     start = chrono::steady_clock::now();
  35.     for(int j = 0; j < trials; j++)
  36.     {  
  37.         vect[0] += trials;
  38.         vect.erase(vect.begin());
  39.     }
  40.     end = chrono::steady_clock::now();
  41.     cout << "vector.erase() time in ms : "
  42.                 << chrono::duration_cast<chrono::milliseconds>(end - start).count()
  43.         << endl;
  44.         return 0;
  45. }