Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Определение чистого процессорного времени  (Прочитано 9637 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ezus
Опытный

il
Offline Offline

« : 10-11-2015 10:14 » 

Добрый день.

Есть Сш аппликация, которая вызывает С++ DLL от MS C++6.0.

Нужно проанализировать фрагмент кода, т.к. его поведение во времени вызывает вопросы.

Надеюсь, что анализ чистого процессорного времени может мне в этом помочь.

Есть ли такая возможность определить чистое процессорное время работы фрагмента кода?

Спасибо.
Записан
darkelf
Молодой специалист

no
Offline Offline

« Ответ #1 : 10-11-2015 10:45 » 

Если есть исходные тексты этой dll, то можно попробовать собрать с отладочной информацией соответственно посмотреть профайлером, по каким веткам ходит этот фрагмент кода. Если нет исходного кода и Вам надо замерять извне, то можно попробовать воспользоваться штатной C-функцией clock(), правда точность там может оказаться довольно небольшой.
Записан
ezus
Опытный

il
Offline Offline

« Ответ #2 : 10-11-2015 10:56 » 

Код мой и я могу добавить туда все что надо.
Вопрос - а что добавить?
Записан
darkelf
Молодой специалист

no
Offline Offline

« Ответ #3 : 10-11-2015 14:03 » 

Добавить clock() в начале, где Вы хотите начать измерение, clock() в конце, вычесть второе значение из первого. Для перевода из абстрактных тиков в секунды поделить на CLOCKS_PER_SEC.
Записан
ezus
Опытный

il
Offline Offline

« Ответ #4 : 10-11-2015 14:37 » 

Спасибо.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #5 : 10-11-2015 14:38 » 

Удобней сделать вспомогательный класс. В конструкторе засекаем время, в деструкторе выводим разницу. Могу поделиться версией, но с использованием MFC (CString) и работает только в дебаг-компиляции (вывод через TRACE) - т.е. смотреть, например, в DebugView. Его несложно подогнать под свои условия (release, console и тп)
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
ezus
Опытный

il
Offline Offline

« Ответ #6 : 01-02-2016 12:30 » 

Спасибо за предложение.
Хоть и с опозданием.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines