Le temps s'écouler le calcul en millisecondes C#

J'ai besoin de temps l'exécution d'une séquence de code écrit en C#. À L'Aide De DateTime.Maintenant, je reçois des valeurs incorrectes pour l'ordre de la milliseconde champ.
Par exemple:

 int start_time, elapsed_time;

 start_time = DateTime.Now.Millisecond;

 for(int i = 0; i < N_ITER; i++) {
       //cpu intensive sequence
 }

 elapsed_time = DateTime.Now.Millisecond - start_time;

elapsed_time donne des valeurs négatives.

Comment puis-je remplacer DateTime afin d'obtenir la valeur réelle de la mesure du temps écoulé?

  • System.Diagnostics.Stopwatch ???
  • Sûr que ça va vous donner parfois un moins de valeur que Vous ne prenez pas le timestamp, vous prenez seulement une partie seulement. Explication: DateTime.Maintenant.Deuxième = 50 Au Bout De 15 Secondes DateTime.Maintenant.La deuxième sera de 5, pas 65 c'est pourquoi vous obtenez les valeurs négatives. Ceci s'applique pour les Heures, minutes, secondes, millisecondes, Donc la meilleure chose à faire est de, soit un chronomètre, ou les deux instances DateTime, l'un pour le début et une fin, var st =DateTime.Maintenant La Console.Write((DateTime.Maintenant - st).ToString())
  • Double Possible de Mesurer les délais d'exécution du code
InformationsquelleAutor Sebi | 2012-11-27