Concurrency собирает информацию о многопоточных приложения (как отлаживать многопоточные приложения см. ). Метод собирает подробную информацию о стеке вызовов, каждый раз, когда конкурирующие потоки вынуждены ждать доступа к ресурсу.
Application Exclusive время, затраченное на выполнение кода в теле. Исключается время, которое тратится выполнения вызовов операционной системы и время, затраченное на выполнение функций, вызванные целевой функцией.
Elapsed Exclusive время, затраченное на выполнение кода в теле. Время, которое тратят функции, вызванные целевой функцией.
Application Inclusive время, затраченное на выполнение функции, за исключением времени обращений к операционной системе.
Elapsed Inclusive общее время, затраченное на выполнение функции
Отчет содержит 4 значения для предоставления затраченного времени:
Метод внедряет свой код в двоичный файл, который фиксирует информацию о синхронизации (времени) для каждой функции в файл, и для каждой функции которые вызываются в этой.
Instrumentation — собирает детализированную информацию о времени работы каждой вызванной функции. Используется для замера производительности операций ввода/вывода.
Каждый определенный интервал времени собирается информация о стеке вызовов (call stack). На основе этих данные производится подсчет производительности. Используется для первоначального профилирования и для определения проблем связанных с использование процессора.
Sampling — собирает статистические данные о работе приложения (во время профилирования). Этот метод легковесный и поэтому, в результате его работы очень маленькая погрешность в полученных данных.
Чуть-чуть отступим от главной темы статьи и рассмотрим возможные методы профилирования. Эту главу можно пропустить, используемые методы профилирования будут кратко описаны перед использованием.
Методы профилирования
Копия тестового приложения PeopleTrax, скачать можно с
Средние знания языка C#
Для работы с этим руководством вам потребуется:
В этом руководстве мы по шагам профилируем приложение PeopleTrax используя Sampling и Instrumentation методы профилирования, чтобы выявить проблемы в производительности приложения.
Visual Studio Profiling Tool позволяет разработчикам измерять, оценивать производительность приложения и кода. Эти инструменты полностью встроены в IDE, чтобы предоставить разработчику беспрерывный контроль.
Сегодня мы будем замерять производительность нашего приложения с помощью Visual Studio Profiling Tool.
Профилирование приложений в Visual Studio 2010
Профилирование приложений в Visual Studio 2010 / Хабрахабр
Комментариев нет:
Отправить комментарий