![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
KasMP |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 586 Регистрация: 8.8.2006 Репутация: нет Всего: 30 |
Здравствуйте, мои любимые винградовцы
![]() Всегда, когда я заходила в полный тупик, винград помогал мне выбраться из него. Верю, что так будет и сейчас. Сам вопрос элементарен, ответ на него не требует от знающего человека никаких усилий. Речь о счетчиках. После всего прочитанного, услышанного и опробованного пришла мысль, что работа счетчиков может быть организована двумя способами. Не могу определить, который из них верен. 1) Создали категорию, создали счетчик. Что-то делаем в программе (выделяем память туда-сюда, считаем арифметику, перекачиваем байты из массива в массив, ...), счетчик сам следит за изменениями (ну он же знает, какого типа и что ему считать, он вполне самостоятелен) и сам меняет свое значение. Мы можем в любой момент прочитать его текущее значение. Если прочитать, поделать что-то влияющее на его значение и снова прочитать, то значения будут разные. (образно походит на то, как бежит вода из крана: кран закрыт - значение счетчика стоит; кран открыт - значение счетчика само изменяется в зависимости от интенсивности и т.п.) 2) Создали категорию, создали счетчик. Счетчик знает только то, по какой формуле ему нужно считать; он не умеет сам определять количество обработанных элементов, выполненных операций и т.п.. Мы сами определяем, сколько операций в какой момент выполнено, что считать операцией, что считать обработанным элементом и т.п.. Сделали что-то - изменили значение счетчика руками на то значение, которое считаем нужным (Increment(), IncrementBy(), прямое присваивание RawValue и т.п.). Потом вызвали CounterSampleCalculator и он, основываясь на предоставленных нами данных и типе счетчика (точнее, соответствующей типу формуле) посчитал все. Больше склоняюсь ко второму варианту, потому что, во-первых, ни один счетчик у меня пока не изменился сам, а, во-вторых, в примерах MSDN значения меняют именно руками, а не пытаются снимать какие-то реальные показания. Возможно, что не верно ни одно понимание. Расскажите, пожалуйста! Очень хочется знать этот простой ответ! |
|||
|
||||
KasMP |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 586 Регистрация: 8.8.2006 Репутация: нет Всего: 30 |
Добавлю еще, что особенно интересны счетчики, связанные с измерением времени, за которое выполняются какие-то методы, операции и т.п..
Если кому есть что сказать по этой теме, то милости прошу ![]() |
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
Извините за глупый вопрос, но что вы хотите сделать? Что не получается?
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
KasMP |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 586 Регистрация: 8.8.2006 Репутация: нет Всего: 30 |
neutrino,
Я не понимаю, как меняются значения счетчиков. Ты их сам меняешь или они сами считаются в процессе работы? Просто раньше я создавала категорию, создавала относящийся к ней PerfomanceCounter и периодически проверяла его значение после разных операций... Оно никогда не менялось... Соответственно, если оно не меняется само, то, видимо, программист должен менять его сам вручную... Точнее, так: при описании многих типов счетчиков используются выражения вроде "обработанные элементы" и "завершенные операции", которые потом используются в разных вариациях и комбинациях в расчетных формулах; в начале я думала, что операции автоматически считаются в каких-то внутренних единицах (например, просто элементарные операции... выполнили в программе одно сравнение - счетчик увеличился на единицу сам); потом, когда у меня ни один счетчик не увеличивался сам, я стала думать, что программист сам определяет, что считать обработанным элементом и выполненной операцией и что он сам изменяет эти базовые значения. Теперь вы меня понимаете..? |
|||
|
||||
KasMP |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 586 Регистрация: 8.8.2006 Репутация: нет Всего: 30 |
Товарищи, наверно, я какой-то глупый вопрос задаю
![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |