Chcę zmierzyć wykonanie fragmentu kodu i zastanawiam się, jaka jest najlepsza metoda to zrobić?Zmierz czas wykonywania w C#
Opcja 1:
DateTime StartTime = DateTime.Now;
//Code
TimeSpan ts = DateTime.Now.Subtract(StartTime);
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds/10);
Console.WriteLine(elapsedTime, "RunTime");
Opcja 2: pomocą System.Diagnostics;
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
//Code
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;
// Format and display the TimeSpan value.
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds/10);
Console.WriteLine(elapsedTime, "RunTime");
Nie jest to po prostu analiza porównawcza, która jest częścią aplikacji. Czas potrzebny do wykonania funkcji to odpowiednie dane. Nie musi to być jednak atomowa ani hiper-dokładna.
Która opcja jest lepsza dla kodu produkcyjnego, czy ktoś inny używa czegoś innego i być może lepszego?
Dobre pytanie! Jestem ciekawy co do odpowiedzi! –