Подскажите код простого счетчика микросекунд в C#
От: ddocker Россия www.codelab.ru
Дата: 19.02.06 23:37
Оценка:
Добрый день!
Нужно посчитывать время выполнения различных фрагментов в микросекундах.
Порылся по форуму, нашел только вот это(http://rsdn.ru/Forum/?mid=1159653&flat=0):
Автор: 0Z
Дата: 06.05.05

PerformanceCounter _cntCPU = new PerformanceCounter("Processor", "% Processor Time", "_Total", Dns.GetHostName());
_cntCPU.NextValue();

NextValue возвращает всегда 0. (наверное кроме этого еще что-то нужно инициализировать/объявлять/включать и проч., но я просто не знаю )

В msdn-е пример CounterSample на пару экранов, из которого очень неясно какое время и как подсчитывается ...запутывает окончательно...

Пожалуйста, дайте до конца оформленный работающий функционал для подсчета микросекунд, с указанием какие сборки(using) нужно включать и прочь...
В идеале хотелось бы что-то вроде этого:

MyCounter counter = new MyCounter();

counter.Start();
// Подсчитываемый фрагмент
code...
code...
float mc = counter.Get();

Console.WriteLine("Время выполнения: {0} микросекунд", mc);


Сорри за возможно нелепые формулировки: .net осваиваю с недавних пор.
Спасибо!
Подскажите код простого счетчика микросекунд в C#
От: Аноним  
Дата: 19.02.06 23:56
Оценка:
How To: Time Managed Code Using QueryPerformanceCounter and QueryPerformanceFrequency


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Подскажите код простого счетчика микросекунд в C#
От: ddocker Россия www.codelab.ru
Дата: 20.02.06 10:04
Оценка:
Здравствуйте, SergeyP, Вы писали:

SP>How To: Time Managed Code Using QueryPerformanceCounter and QueryPerformanceFrequency


SP>
данное сообщение получено с www.gotdotnet.ru

SP>ссылка на оригинальное сообщение


Спасибо, то что надо...
multiplier вводится как я понял только для того чтоб наносекунды получить?
Decimal multiplier = new Decimal(1.0e9);


и потом с помощью него рассчитываются наносекунды:
....
return ((((double)(stop - start)* (double) multiplier) / (double) frequency));
....


Т.е. его можно просто убрать и будем иметь в этом случае привычные доли секунды... так?
Re[2]: Подскажите код простого счетчика микросекунд в C#
От: Аноним  
Дата: 20.09.06 16:02
Оценка:
Здравствуйте, ddocker, Вы писали:

D>Здравствуйте, SergeyP, Вы писали:


SP>>How To: Time Managed Code Using QueryPerformanceCounter and QueryPerformanceFrequency


D>Спасибо, то что надо...

D>multiplier вводится как я понял только для того чтоб наносекунды получить?
D>
D>Decimal multiplier = new Decimal(1.0e9);
D>


а всетаки, почему PerformanceCounter Process\_Total\% Processor Time всегда возвращает нуль?
может както связано с настройкой Security?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.