Как я могу измерить, сколько времени занимает выполнение процедуры в Visual Studio 2012?
В настоящее время я заканчиваю свою курсовую работу по A2 Computing (шестая форма в Великобритании), и в рамках этого я должен выполнить ряд процессов тестирования своего программного обеспечения.
Как часть этого, я должен быть в состоянии измерить эффективность, и хотя я был примитивным и, вероятно, бесполезным в реальном мире, я надеялся измерить, сколько времени занимает выполнение процедуры.
Я искал в Google и не нашел ни одного метода, который мог бы сделать это до сих пор.
Как я мог пойти об этом?
Спасибо,
C.
2 ответа
Вы можете использовать Visual Studio Profiling Tools для получения метрик производительности вашего кода. Профилировщик позволяет вам получать время выполнения и подсчитывать вызовы любых методов без изменения исходного кода. Эта статья может послужить отправной точкой для изучения возможностей профилировщика.
Если вы используете C# и вам нужно получить время выполнения одного или нескольких методов, вы можете использовать Stopwatch
учебный класс. Ниже приведен пример его использования:
var stopwatch = Stopwatch.StartNew();
SomeMethod();
Console.WriteLine("Call SomeMethod {0} ms", stopwatch.ElapsedMilliseconds);
Очень простой способ сделать это - сделать отметку времени перед выполнением вашего метода, а затем посмотреть, сколько времени понадобилось для его завершения. Например:
DateTime scriptStart = DateTime.Now;
SomeMethod();
DateTime scriptEnd = DateTime.Now;
TimeSpan scriptTime = scriptEnd - scriptStart;
int seconds = scriptTime.TotalSeconds;