![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Abyx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 0 Всего: 10 |
набросал на скорую руку
есть более правильные\точные способы? |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
http://msdn.microsoft.com/en-us/library/sy...iagnostics.aspx по словам Perfomance поищите.
А если разово, то есть профайлеры -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Abyx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 0 Всего: 10 |
||||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
попробуйте поискать на странице Perfomance и ПОЧИТАТЬ ссылки на ней же по данным поиска.
Это сообщение отредактировал(а) jonie - 18.6.2010, 18:11 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Abyx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 0 Всего: 10 |
||||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
ну если у вас не хватает воображения чтобы понять как применить счетчик например "количество операций в секунду" для сравнения скорости (она, к слову, тоже измеряется как операций\секунду) какого-либо алгоритма, загнанного например в цикл, то я прям и не знаю что еще сказать...
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Abyx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 0 Всего: 10 |
jonie, покажите пример, и напишите чем он лучше кода в 1м посте
|
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
http://www.codeproject.com/KB/dotnet/perfcounter.aspx
лучше тем что не велосипед. Это сообщение отредактировал(а) jonie - 21.6.2010, 10:36 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Abyx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 0 Всего: 10 |
||||
|
||||
Abyx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 0 Всего: 10 |
Если я сам запускаю код N раз, то я знаю сколько раз этот код отработал. Зачем мне еще какой-то счетчик PerformanceCounter ???
|
|||
|
||||
PashaPash |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 9 Всего: 49 |
Abyx, ну вот, ты и ответил на свой вопрос.
PerformanceCounter-ы нужны для мониторинга производительности кусков цельного приложения, а не сферической функции в вакууме. Если функция не тормозит на одном вызове - нет смысла ее "оптимизировать". И уж точно нет смысла замерять время ее работы точнее чем stopwatch-ем. |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
Abyx, производительность это не только "моя функция обработала за 2 сек" - такие функции можно профилировщикам скормить.
Куда как интереснее функции выполняющие некие действия, например чтение файла, где производительность определяется через пульсирующие уведомления вида "сделал 100 строк". Если у вас есть функция парсящая строку, которую вызывает ваш читальщик, то couter-ы как раз то что надо - какой смысл смотреть как он быстро отпарсит одну строку? - это не эффективно, т.к. на другой строке он может "споткнуться" в плане скорости.... -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
Abyx |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 0 Всего: 10 |
Жесть какая-то %)
У меня есть конкретная задача, и я спрашиваю как ее решить. Если вы не знаете как ее решить - валите из этой темы, а не пишите про "более интересные задачи".
Я не ответил на свой вопрос. Я задал вопрос и хочу получить на него ответ. Вместо этого какие-то флудеры предлагают мне средства не подходящие для решения моей задачи.
Я в курсе что такое производительность. А вот вы похоже не в курсе что такое читать чужие посты. Вы что, предлагаете взять мои 5-6 функций которые мне надо сравнить, каждую руками прогнать через профилировщик, записать результаты на бумажку и сравнивать? Создайте свою тему, и там пишите о том что вам интересно. Это сообщение отредактировал(а) PashaPash - 23.6.2010, 13:40 |
||||
|
|||||
PashaPash |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 9 Всего: 49 |
Abyx, у тебя какие-то проблемы с чтением чужих постов?
Ты задал абсолютно бессмысленный вопрос - как протестировать скорость работы какой-то абстрактной функции и спросил про более правильный способ. Тебе ответили, что более правильный способ - не заниматься микротестированием и преждевременной оптимизацией. Ответили, что чтобы увидеть реальную разницу в работе функций - нужно тестировать функцию не в цикле со стопвотчем, а уже после интеграции в приложение. Например, с помощью Performance Counters замерять время, потраченное на каждый вызов. Ответили, что если надо сделать выбор между двумя функциями - то надо поставить обе в приложение и прогнать профайлером. Потому что толку от тестирования изолированной функции - 0. Тем более что такой метод тестирования будет давать дикий разброс в зависимости даже от конфигурации приложения, не говоря уже о таких мелочах как объем памяти, режим сборки мусора и количестве ядер. А ты меряешь скорость функции по методу "разделить расстояние на время". Например, большинство сферических функций можно ускорить тупо распараллелив внутри. Они будут очень быстро работать под стопвотчем, но убивать всю остальную систему. Насчет жести согласен - ты одновременно спрашиваешь про более правильный способ, и при этом твердо уверен что более правильного способа нет. Настольно твердо, что даже не пытаешься думать. |
|||
|
||||
Abyx |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 0 Всего: 10 |
PashaPash, вопрос был задан в названии темы и 1м посте. Чтобы его понять, никакой телепатии не надо.
Повторю еще раз: Как замерить производительность реализации алгоритма (функции\подпрограммы\etc) Все ответы не относящиеся к этому вопросу, пожелания чем мне следует заниматься и т.п. - есть оффтоп. ---------- Да, я хочу тестировать функции не интегрированные в приложение. Меня интересует замер быстродействия, а не потребления памяти, обращений к диску, etc Я хочу замерить быстродействие максимально точно, для одного конкретного компьютера, на котором будет проводиться измерение. Я хочу замерить быстродействие не одной, а нескольких функций, на нескольких компьютерах, для различных параметров работы алгоритмов, по этому я хочу сделать это автоматически, написав программу. Я знаю зачем мне это надо. А вы тут флудите и пишете вещи, не относящиеся к заданному мной вопросу. =\ Добавлено через 2 минуты и 46 секунд для тех кто в танке, и прочих ***, System.Diagnostics.Stopwatch.ElapsedTicks и kernel32.QueryPerformanceCounter - это одно и то же |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |