c ++ / Qt – temps de calcul

Quel est le meilleur moyen de mesurer le temps de calcul, avec STL C ++ ou Qt?

Je connais ctime, mais j’ai une idée que Qt pourrait être utile ici.

Merci!

La classe QTime , qui peut mesurer le temps, peut être démarrée via start() et récupérée via la méthode elapsed() .

Si vous voulez quelque chose de plus avancé, vous pouvez opter pour Boost.Chrono si vous voulez entrer dans de graves perversions du temps. Cependant, la documentation est un peu clairsemée (comme toujours avec Boost), mais c’est vraiment l’une des bibliothèques les plus propres et les meilleures si vous avez besoin de quelque chose de ce calibre.

Tout dépend de ce que vous voulez faire, car “mesurer le temps de calcul” est une description très large. Voulez-vous réellement profiler votre application? Alors peut-être un outil de profileur pourrait être plus approprié.

De plus, si vous voulez juste obtenir le temps brut nécessaire pour exécuter le programme, utilisez la commande time sous Linux.

Personnellement, j’utiliserais QElapsedTimer :

http://doc.qt.io/qt-4.8/qelapsedtimer.html

Si vous développez pour Windows , vous pouvez utiliser ceci à partir de WINAPI:

 DWORD start = ::GetTickCount(); calculation(); DWORD result = ::GetTickCount - start; 

Le result DWORD contiendra le temps écoulé en millisecondes.

Remarque : cette méthode de mesure n’est pas très précise. La précision varie entre 10 et 16 ms. Mais si vous voulez juste afficher quelque chose comme “Il a fallu 5,37 secondes pour calculer le sens de la vie”, cela suffira.