La mesure de temps de calcul en c++
Si j'avais le code suivant
clock_t t;
t = clock();
//algorithm
t = clock() - t;
t égal au nombre de tiques pour exécuter le programme. Est-ce le même est le temps CPU? Existe-il d'autres façons de mesurer le temps de calcul en C++?
OS -- Debian GNU/Linux
Je suis ouvert à tout ce qui va fonctionner. Je suis désireux de comparer le temps de calcul des deux algorithmes.
Veuillez préciser si vous êtes à la recherche pour le C/C++ standard et portable méthodes ou si le système d'exploitation des bibliothèques et de la CPU machine spécifique instructions sont acceptables.
Aussi cette question est certainement un duplicata.
Aussi cette question est certainement un duplicata.
OriginalL'auteur user3025872 | 2013-11-23
Vous devez vous connecter pour publier un commentaire.
clock()
est spécifié pour mesurer le temps CPU cependant pas toutes les implémentations de le faire. En particulier, l'implémentation Microsoft VS, ne compte pas plus de temps lors de plusieurs threads en cours d'exécution, ou de compter moins de temps lorsque le programme de threads sont de couchage/attente.Également noter que
clock()
doit mesurer le temps CPU utilisé par l'ensemble du programme, alors pendant le temps CPU utilisé par plusieurs threads en//algorithm
seront mesurés, les autres threads qui ne font pas partie de//algorithm
également comptabilisés.clock()
est la seule méthode spécifiée dans la norme pour mesurer le temps CPU, cependant, il existe certainement d'autres, de la plate-forme, les méthodes de mesure de temps de calcul.std::chrono
ne comprend pas tout d'horloge pour mesurer le temps de calcul. Il ne dispose que d'une horloge synchronisée à l'heure du système, une horloge qui avance à une vitesse constante à l'égard de temps réel et d'une horloge qui est "haute résolution", mais qui ne prend pas nécessairement en mesure de temps PROCESSEUR.OriginalL'auteur bames53
Comment mesurer cpu-temps est-il utilisé ?
Bien sûr, si vous le temps d'affichage en secondes :
Source : http://en.cppreference.com/w/cpp/chrono/c/clock
OriginalL'auteur King's jester
C++ a un chrono de la bibliothèque. Voir http://en.cppreference.com/w/cpp/chrono. Il y a aussi souvent dépendants de la plateforme façons d'obtenir à haute résolution des chronomètres (varie selon la plate-forme).
chrono
bibliothèque fait partie du C++11.OriginalL'auteur Dweeberly