Порой нужно достаточно точно знать сколько времени требуется для выполнения того или иного кода. Самый простой пример — время, которое требуется на выполнение SQL запроса к базе данных.
Будем использовать класс Stopwatch.
System.Diagnostics.Stopwatch swatch = new System.Diagnostics.Stopwatch(); // создаем объект swatch.Start(); // старт // Тут код swatch.Stop(); // стоп Console.WriteLine(swatch.Elapsed); // выводим результат в консоль
Все очень просто. Хотя это очень подробно описано на MSDN.
Источник: www.techweek.ru
Как проверить время выполнения функции в Visual studio C ++?
Я новичок в Visual Studio 2012 и хочу проверить скорость своих функций. Каков наилучший способ сделать это? Я пытаюсь ускорить выполнение своей функции и хочу увидеть, сколько времени потребуется от выполнения до получения результатов. Я ценю помощь.
Решение
Там, скорее всего, нет хорошего пути. В зависимости от имеющейся у вас версии Visual Studio, она может иметь поддержку профилировщика, если это так, включите ее, и она сообщит вам.
Visual Studio 97
Другие решения
В дополнение к использованию QueryPerformanceCounter Упомянутый в других постах, есть несколько шагов, которые помогут вам более точно измерить время:
- Вызовите Sleep (0) или SwitchToThread () перед началом измерения времени. Это приведет к более надежным измерениям, поскольку переключение контекста не произойдет сразу после возврата из Sleep (). Если функция короткая и вызывается в замкнутом цикле, вызовите Sleep перед циклом, вы хотите, чтобы кэши ЦП оставались горячими при вызове вашей функции.
- Увеличьте приоритет потока и / или базовый приоритет процесса с помощью SetThreadPriority и SetProcessPriorityBoost.
- хранить N тысяч результатов в массиве, отбрасывать или игнорировать худшие 5% (выбросы). Перед печатью статистики отсортируйте массив, чтобы было легче найти выбросы.
Источник: web-answers.ru
Как проверить скорость работы функций в Visual Studio
Я хотел бы проверить, насколько быстро работают мои проекты. Было бы замечательно, если бы была возможность отмечать медленные места в моей функции, чтобы я мог изменить свой код для увеличения производительности. Я использую Microsoft Visual Studio 2012 и знаю, что есть встроенный инструмент тестирования, но я не знаю, где его найти и, вероятно, как его использовать. Было бы здорово, если бы кто-то мог помочь мне с этим вопросом.
user3286902 16 мар ’14 в 14:31 2014-03-16 14:31
2014-03-16 14:31
4 ответа
Для проверки времени исключения метода вы можете использовать класс секундомера.
Также в VS 2013 есть встроенный профилировщик в меню ANALYZE => Profiler. Я не помню, в какой версии VS он был добавлен, но я думаю, что он есть в VS 2012. Так что вы можете начать профилирование, некоторое время использовать свое приложение, а затем проверять, какие операции потребовали больше времени для выполнения.
VS Code – обзор редактора кода | Настройка и установка Visual Studio Code
ОБНОВЛЕНИЕ: VS 2017 теперь показывает время выполнения в миллисекундах для каждой строки или когда Run To Click используется во время сеанса отладки:
user2138959 16 мар ’14 в 14:44 2014-03-16 14:44
2014-03-16 14:44
В Visual Studio 2013
В верхнем меню перейдите к ANALYZE -> Performance and Diagnostics
Проверьте мастер производительности, чтобы рассчитать необходимое время. Нажмите-Пуск. Теперь выберите — Инструменты для измерения вызовов функций и подсчета. Нажмите кнопку «Далее. Выберите — будет показан один или несколько доступных проектов с таким именем. Нажмите кнопку «Далее. Снова нажмите «Далее». Проверьте — Запустите профилирование после завершения работы мастера.
Теперь нажмите кнопку Готово.
В Visual Studio 2017
В верхнем меню перейдите к ANALYZE -> Performance Profiler
Проверьте мастер производительности, чтобы рассчитать необходимое время. Нажмите-Пуск. Теперь выберите — Инструменты для измерения вызовов функций и подсчета. Нажмите кнопку «Далее. Выберите — будет показан один или несколько доступных проектов с таким именем. Нажмите кнопку «Далее. Снова нажмите «Далее».
Проверьте — Запустите профилирование после завершения работы мастера. Теперь нажмите кнопку Готово.
Однако вы можете также предпочесть использовать командное окно Visual Studio и VSPerfCmd для выполнения профилирования, поскольку у него есть функции, которые нет у Performance Profiler. См.: https://msdn.microsoft.com/en-us/library/dd255376.aspx
Если вы столкнулись с проблемами при использовании мастера производительности в Windows 10, см. Метод выборки ЦП в профилировщике производительности.
Источник: stackru.com