2014-02-14 3 views
0

Каков наилучший способ узнать, как долго работает программа? У меня есть код и нужно выяснить, как долго он будет работать. Мне кажется, что лучший способ - запустить таймер.Выполнение программы

using System; 
using System.Collections.Generic; 

class MainClass 
{ 
    static void Main() 
    { 
     var x = new {MyEnumerator = new List<int>() { 1, 2, 3 }.GetEnumerator()}; 
     while (x.MyEnumerator.MoveNext()) 
      Console.WriteLine(x.MyEnumerator.Current); 
    } 
} 
+2

Если вы имеете в виду, как долго это выполнялось, используйте секундомер. –

+1

Вы когда-нибудь смотрели на ['Секундомер'] (http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch (v = vs.110) .aspx) класс? Из документации; _ Предоставляет набор методов и свойств, которые можно использовать для точного измерения прошедшего времени. –

+1

@PeterRitchie Будьте осторожны, Питер. Вы ни camelCased, ни гиперссылки на слово «Секундомер» - не все знают, что это такое! –

ответ

3

Используйте Stopwatch, чтобы увидеть, как долго код взял бежать:

var sw = Stopwatch.StartNew(); 
    var x = new {MyEnumerator = new List<int>() { 1, 2, 3 }.GetEnumerator()}; 
    while (x.MyEnumerator.MoveNext()) 
     Console.WriteLine(x.MyEnumerator.Current); 
    Debug.WriteLine(sw.Elapsed); 
2

Вот один из способов сделать это. С классом Stopwatch.

using System; 
using System.Diagnostics; 
using System.Threading; 

class MainClass 
{ 
    static void Main() 
    { 
    // Create new stopwatch 
    Stopwatch stopwatch = new Stopwatch(); 

    // Begin timing 
    stopwatch.Start(); 

    // Do something  
    var x = new {MyEnumerator = new List<int>() { 1, 2, 3 }.GetEnumerator()}; 
    while (x.MyEnumerator.MoveNext()) 
     Console.WriteLine(x.MyEnumerator.Current); 

    // Stop timing 
    stopwatch.Stop(); 

    // Write result 
    Console.WriteLine("Time elapsed: {0}", 
     stopwatch.Elapsed); 
    } 
} 
+1

Вы можете создать и запустить новый секундомер с помощью метода 'StartNew()'. –

+1

Спасибо @PeterRitchie Не знал об этом. Я узнаю что-то новое на StackOverflow :) – Shiva

Смежные вопросы