четверг, 6 октября 2011 г.

Как в C# узнать время выполнения операции

Иногда нужно точно знать сколько по времени выполняется какая-либо операция (копирование файла, запрос к БД, обработка графики). Для этого в C# можно использовать класс - System.Diagnostics.Stopwatch. Приведу пример -

        private void button1_Click(object sender, EventArgs e)
        {
            //Объявляем новый экземпляр класса Stopwatch
            Stopwatch testStopwatch = new Stopwatch();
            //запускаем
            testStopwatch.Start();
 
            //Далее наши действия которые нужно замерить
            File.Copy("test.txt""1test.txt"true);            
 
            //Останавливаем 
            testStopwatch.Stop();
 
            //Теперь можем смотреть время выполнения операции
            label1.Text = "Операция выполнена за "+ testStopwatch.ElapsedMilliseconds.ToString() + 
                          " миллисекунд";
 
            TimeSpan tSpan; tSpan = testStopwatch.Elapsed;            
            label2.Text = "Время выполнения операции - " + tSpan.ToString();
        }
Данный код при выполнении покажет нам следующее -