Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Время выполнения программы


Автор: Trurl 6.5.2009, 22:17
Доброе время суток!

Подскажите, пожалуйста, как можно померять время выполнения программы или её части?

Нужно использовать интеловский компилятор для с++ под windows.

С уважением.

Автор: J0ker 6.5.2009, 22:22
*nix - time - для всей программы
аналога в винде вродебы нет
для функций внутри программы - профайлер

Автор: Trurl 6.5.2009, 22:30
Подскажите, пожалуйста, что такое профайлер и как с ним бороться?

Автор: J0ker 6.5.2009, 22:36
http://en.wikipedia.org/wiki/Profiler_(computer_science)

Автор: Trurl 6.5.2009, 22:40
Спасибо!

Автор: yeputons 7.5.2009, 11:47
http://msdn.microsoft.com/en-us/library/ms724408(VS.85).aspx тебе в помощь.
Засекаешь её значение в начале куска кода, в конце, вычитаешь, получаешь время выполнения в миллисекундах. 
К примеру:
Код

#include <stdio.h>
#include <windows.h>

int main() {  
  int a = GetTickCount();

  for (int i = 0; i < 100000; i++)
    printf("+");

  int res = GetTickCount() - a;
  printf("\nRunning for %d msec", res);
  return 0;
}

Еще можешь покопать в сторону ассемблерной команды rdtsc.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)