рекомендация библиотеки / API для добавления инструментов в код - PullRequest
1 голос
/ 12 октября 2011

Если я хочу добавить в свой код некоторые инструменты для получения метрик, например, сколько времени потребовалось для выполнения конкретного метода, у кого-нибудь есть рекомендации для встроенной библиотеки Windows или любой сторонней библиотеки?

Ответы [ 3 ]

1 голос
/ 12 октября 2011

Я видел, как это делается с помощью PostSharp AOP Framework, подключенного к счетчикам производительности Windows (System.Diagnostics.PerformanceCounter). Один из их вводных фрагментов примера кода показывает, как это сделать:

http://www.sharpcrafters.com/solutions/performance

Это может быть хорошим вариантом, если вы хотите развернуть эти измерения в рабочей среде и измерить производительность в режиме реального времени (для диагностики работающей системы).

Если вы просто хотите найти узкие места в вашем коде и вам не нужно проводить диагностику в реальном времени, я предлагаю вам просто использовать профилировщик, например встроенный в VS, или Ants Profiler Крис уже предложил). Затем выполните отредактированную копию ваших производственных данных для своего кода, чтобы ваши измерения производительности соответствовали производственным.

1 голос
/ 12 октября 2011

Если вы хотите это во время выполнения, вам, вероятно, следует использовать профилировщик в автономном режиме. Я бы по возможности избегал использования каких-либо контрольно-измерительных приборов, так как это требует времени и, следовательно, вызывает больше проблем с производительностью.

Google для RedGate ANTS Profiler или JetBrains dotTrace. Если у вас VS2010 Premium, он имеет встроенный. Это даст вам методическую разбивку того, что происходит по времени.

0 голосов
/ 12 октября 2011

Обычно профилировщик позаботится об измерении производительности.

Если вам нужно измерить время самостоятельно, то достаточно секундомера с какой-то трассировкой.

...