2009-11-06 3 views
0

J'ai écrit une fonction pour faire correspondre les modèles d'empreintes digitales à l'aide de VC++ .NET.Déterminer le temps nécessaire pour exécuter une fonction

Maintenant je veux savoir le temps qu'il faut pour exécuter la fonction.

J'ai essayé d'entourer l'instruction d'appel de fonction avec clock (bibliothèque C standard) et de calculer la différence entre les valeurs renvoyées. Pour une raison quelconque, il retourne toujours zéro. Est-ce qu'il me manque quelque chose ou y a-t-il des alternatives?

Répondre

1

Ne pouvez-vous pas simplement utiliser System.Diagnostics.Stopwatch? Je suppose que c'est la même chose dans VC++. NET et C# .NET.

Si vous ne pouvez alors vous avez juste besoin de l'équivalent VC:

Stopwatch sw = Stopwatch.StartNew() 
Func(); 
sw.Stop(); 

Pourrait vouloir vérifier Stopwatch

+0

Je pense que la fonction de bibliothèque que j'appelle pour réellement correspondre aux modèles a une implémentation très sophistiquée et efficace. Il suffit de quelques centaines de nanosecondes pour terminer. Merci! – ardsrk

0

Essayez ceci:

clock_t début, fin;

start = clock();

funct();

end = horloge();

double exe_time = (fin de démarrage)/CLOCKS_PER_SEC; // en second

Questions connexes