Таймер C# 2.0 времени выполнения

Я хотел бы смочь вычислить количество времени, которое много функций занимают для выполнения. Я думал об использовании некоторого типа класса секундомера. Я могу звонить, запускают/останавливают прежде и после каждого вызова функции, однако который кажется ужасно ужасным мне. Существует ли способ сделать это без класса секундомера? Может что-то в справке класса Отражений с этим?

Заранее спасибо за Вас ввел.

5
задан J.Hendrix 6 January 2010 в 15:04
поделиться

5 ответов

Я думаю, что вы должны попробовать PostSharp способ http://www.postsharp.org/

Изменение кода в примере для этого:

public class ProfileMethodsAttribute : OnMethodBoundaryAspect 
{ 
  public override void OnEntry( MethodExecutionEventArgs eventArgs) 
  { eventArgs.MethodExecutionTag = Stopwatch.StartNew();  } 

  public override void OnExit( MethodExecutionEventArgs eventArgs) 
  { 
     // Here u can get the time
     Console.WriteLine(((Stopwatch)eventArgs.MethodExecutionTag).ElapsedMilliseconds);
  } 
}

Вы можете получить тайм-аут в любом методе

.
3
ответ дан 14 December 2019 в 08:52
поделиться

Я рекомендую спонсора ярлыка производительности ... Красные муравьи ворот . Вы можете получить демо-версию, которая запустит ваше приложение и даст вам информацию о производительности для каждой строки и каждого метода, который ваше приложение попадает во время его профилирования.

2
ответ дан 14 December 2019 в 08:52
поделиться

Я думаю, тебе стоит подумать об использовании кодового профилирования... Использовать внешнее приложение типа Ants Profiler для профилирования своего кода? Муравьи из Red Gate и не бесплатные, но я думаю, что есть некоторые бесплатные/открытые исходные приложения.

Некоторые бесплатные/открытые профилировщики исходных кодов здесь ....

Это нормально - останавливать метод здесь и там, но пытаться сделать это для каждого метода в вашем решении быстро стало бы неудобно.

1
ответ дан 14 December 2019 в 08:52
поделиться

вы можете поместить класс секундомера в атрибут, используемый для украшения ваших методов, т.е. стиль AOP. Посмотрите это

1
ответ дан 14 December 2019 в 08:52
поделиться

Есть различные таймеры. Система. Таймеры. Таймер был бы одним из таких. Но как следует из предыдущего ответа, вы уверены, что это правильное решение проблемы, которую вы на самом деле пытаетесь решить?

.
0
ответ дан 14 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: