2010-01-22 6 views
4

comment savoir, comment la méthode de prendre beaucoup de temps en C# par exemple, j'ai label1 et la méthodetemps de fonctionnement de la méthode

public int MakeSome(int a, int b) 
    { 

     for (int i = 0; i < a; i++) 
     { 
      for (int j = 0; j < b; j++) 
      { 
       // some operation 
      } 
     } 
     return returnIntValue; 
    } 

savoir, comment savoir combien de millisecondes prendre méthode MakeSome et écrire valeur label1. thanks

Répondre

11

Utilisez la classe Stopwatch de l'espace de noms System.Diagnostics.

+0

merci. Ça marche. – loviji

+0

J'ai utilisé cette méthode, mais j'ai des valeurs de différence de 150 msek à 500 msek. est-ce normal? dans le même processeur. Processeur non surchargé. – loviji

+2

Je ne sais pas. Que faites-vous dans la boucle? Aussi, n'oubliez pas que vous pourriez mesurer le temps passé dans la gigue; La première fois que vous exécutez du code peut prendre des ordres de plus grande ampleur que le second si vous chargez des assemblys, exécutez des initialiseurs statiques, etc. –

0

Créez une variable de temps et attribuez-lui le DateTime.Now puis soustrayez les deux fois.

(utilisez plutôt classe Chronomètre - il est plus élégant)

+1

Vous devriez plutôt utiliser la classe Stopwatch. http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx –

+0

Je viens d'apprendre à propos de cette classe - après toutes ces années! Cool! – stepanian

14

Vous pouvez utiliser la classe Stopwatch:

Stopwatch st = new Stopwatch(); 
st.Start(); 
// call MakeSome method... 
st.Stop(); 

Ensuite, vous pouvez vérifier la propriété st.ElapsedMilliseconds.

Questions connexes