Quelle est la meilleure façon de mesurer combien de temps le code nécessaire à l'exécution?

Je suis en train de déterminer l'approche à la suppression d'une chaîne est le plus rapide.

J'ai simplement obtenir le commencer et fin temps et de montrer la différence.

Mais les résultats sont si varié, par exemple, comme illustré ci-dessous la même méthode peut prendre à partir de 60 ms 231 ms.

Quelle est la meilleure méthode pour obtenir des résultats plus précis?

le texte d'alt http://www.deviantsart.com/upload/1q4t3rl.png

using System;
using System.Collections;
using System.Collections.Generic;

namespace TestRemoveFast
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int j = 0; j < 10; j++)
            {
                string newone = "";
                List<string> tests = new List<string>();
                for (int i = 0; i < 100000; i++)
                {
                    tests.Add("{http://company.com/Services/Types}ModifiedAt");
                }

                DateTime start = DateTime.Now;
                foreach (var test in tests)
                {
                    //newone = ((System.Xml.Linq.XName)"{http://company.com/Services/Types}ModifiedAt").LocalName;
                    newone = Clean(test);
                }

                Console.WriteLine(newone);
                DateTime end = DateTime.Now;
                TimeSpan duration = end - start;
                Console.WriteLine(duration.ToString());
            }

            Console.ReadLine();
        }

        static string Clean(string line)
        {
            int pos = line.LastIndexOf('}');
            if (pos > 0)
                return line.Substring(pos + 1, line.Length - pos - 1);
                //return line.Substring(pos + 1);
            else
                return line;
        }
    }
}
  • Je ne pense pas qu'il n'y a rien d'intrinsèquement imprécis sur la meassurements eux-mêmes. Tu veux sans doute dire que ne m'attendais pas à grande dispersion. Je suppose que vous avez à faire assurez-vous qu'aucun autre programme sur votre ordinateur, utilisez tout votre temps cpu ou de la mémoire.
  • Notez que le "mur de l'horloge", mesurée par le DateTime est que la précision de quelque chose comme 30 mme. DateTime est de représenter les choses comme une horloge sur le mur, ou le temps que vous dernière modification d'un fichier; il se complique pas avoir l'ordre de la nanoseconde précision, et donc il n'a pas.