Question

Je sais que l'horloge () mesure des cycles d'horloge, et est donc pas très bon pour la mesure du temps, et je sais qu'il ya des fonctions comme omp_get_wtime () pour obtenir le temps de mur, mais il me est frustrant pour que le mur le temps varie beaucoup, et je me demandais s'il y avait un moyen de mesurer différents cycles d'horloge (un seul cycle, même si plus d'un thread exécuté dedans). Il doit être quelque chose relativement simple / natif. Merci

Était-ce utile?

La solution

Voir la réponse FreeMemory cette question pour RDTSC si vous utilisez x86 que je l'ai testé et semble fonctionner correctement sur mon système (Mac), mais voir ma réponse à cette question. Voir aussi la critique de RDTSC .

Il est généralement pas la peine de descendre à un niveau de détail trop bas cependant, d'autres morceaux de travail l'ordinateur doit faire utilisera des cycles d'horloge, il varie en fonction de la charge. Je trouve omp_get_wtime() suffisant, bien que je dois mettre mon code dans une boucle supplémentaire pour se assurer qu'il faut environ une seconde pour assurer des résultats constants d'une exécution à.

Autres conseils

Etes-vous sûr de prendre des mesures de temps ne fonctionnera pas pour vous? Gardez à l'esprit que vous ne pouvez mesurer à tant de millisecondes, en fonction de l'OS.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top