Mesures – Test 0.0

#include <ctime>
#include <iostream>
#include <vector>
#include <list>
#include <deque>
#include <string>
#include <chrono>
using namespace std;
using namespace std::chrono;
template <class C>
   system_clock::duration inserer_elements(C &conteneur, int n)
   {
      auto avant = system_clock::now();
      for (int i = 0; i < n; i++) conteneur.push_back(i+1);
      return system_clock::now() - avant;
   }
template <class C>
   void test_insertion(const string &nom, int n)
   {
      C conteneur;
      auto temps = inserer_elements(conteneur, n);
      cout << '\t' << nom << " : "
           << duration_cast<milliseconds>(temps).count() << " ms." << endl;
   }
int main()
{
   const int NINSERT = 5000000;
   cout << "Resultats pour " << NINSERT << " insertions (ms):" << endl;
   test_insertion<vector<int>>("vector", NINSERT);
   test_insertion<deque<int>>("deque", NINSERT);
   test_insertion<list<int>>("list", NINSERT);
}

Sur mon petit ordinateur portatif, compilé avec Visual Studio 2013, configuration Release, et en prenant bien entendu soin d'ajouter _SECURE_SCL=0 aux options du préprocesseur pour désactiver les (franchement inutiles et nuisibles) Checked Iterators, j'obtiens :

Resultats pour 5000000 insertions (ms):
        vector : 28 ms.
        deque : 76 ms.
        list : 248 ms.
Appuyez sur une touche pour continuer...

Valid XHTML 1.0 Transitional

CSS Valide !