Форум программистов, компьютерный форум CyberForum.ru

Время работы программы - C++

Восстановить пароль Регистрация
 
Gmails
5 / 5 / 2
Регистрация: 08.04.2014
Сообщений: 241
05.05.2014, 15:07     Время работы программы #1
как считать?и как микросекунды?именно микросекунды нужны.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4441 / 3779 / 1278
Регистрация: 14.04.2014
Сообщений: 14,872
05.05.2014, 15:10     Время работы программы #2
Может миллисекунды? Что за задача такая?
IrineK
Заблокирован
05.05.2014, 15:22     Время работы программы #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Подключаем
C++
1
#include <ctime>
Потом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
//....
 
time_t now = clock();//начинаем отсчет
 
//...что-то делаем
 
std::cout << "Time: " << std::fixed << std::setprecision(6) 
<< 1.*(clock() - now) / CLOCKS_PER_SEC << std::endl; //до 6 знака - т.е. микросекунд
 
//...
 
}
newbie666
Заблокирован
05.05.2014, 15:25     Время работы программы #4
Смотря под какую ОС ты пишешь софт, если речь не идёт о программах под микроконтроллеры и не под ОСРВ и ты пишешь под нормальную ОС, а не под какой - то левый пингвижатник, то используй WinApi:
QueryPerformanceFrequency
QueryPerformanceCounter

Добавлено через 48 секунд
Цитата Сообщение от IrineK Посмотреть сообщение
time_t now = clock()
это не точный отчёт .... плавает в районе 50..70 микросекунд
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
05.05.2014, 15:29     Время работы программы #5
Цитата Сообщение от newbie666 Посмотреть сообщение
и ты пишешь под нормальную ОС, а не под какой - то левый пингвижатник
полегче на поворотах
Вот код, скоммунизженный с liveworkspace.org под C++11
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// !!! ВНИМАНИЕ !!! Для корректного измерения времени включите опцию -O2
// а для компилятора C++ 4.6.3 ещё необходимо добавить опцию -std=c++0x
#include <chrono>
#include <iostream>
 
class TimeMeasure {
public:
   TimeMeasure() {
      start();
   }
   void start() {
      m_start = now();
   }
   int elapsed_ms() const {
      return elapsed< std::chrono::milliseconds >();
   }
   int elapsed_mks() const {
      return elapsed< std::chrono::microseconds >();
   }
 
private:
   template< class D >
   int elapsed() const {
      return std::chrono::duration_cast< D >( now() - m_start ).count();
   }
   const std::chrono::system_clock::time_point now() const {
      return std::chrono::system_clock::now();
   }
   std::chrono::system_clock::time_point m_start;
};
 
template< class F >
void measure_ms( const char * const text, F f ) {
   TimeMeasure m;
   f();
   int t = m.elapsed_ms();
   std::cout << text << " : " << t << " ms." << std::endl;
}
 
template< class F >
void measure_mks( const char * const text, F f ) {
   TimeMeasure m;
   f();
   int t = m.elapsed_mks();
   std::cout << text << " : " << t << " mks." << std::endl;
}
newbie666
Заблокирован
05.05.2014, 15:31     Время работы программы #6
Цитата Сообщение от Tulosba Посмотреть сообщение
std::chrono
да, хроно - тоже хорошая штука, правда на точность - не проверял...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2014, 16:04     Время работы программы
Еще ссылки по теме:

C++ Счастливый билет. Надо сократить время работы программы
Как уменьшить время работы программы? C++
Рассчитать время работы программы C++
Как подключить библиотеку во время работы программы? C++
C++ Превышено максимальное время работы программы

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
IrineK
Заблокирован
05.05.2014, 16:04     Время работы программы #7
Если речь идет не о "выполнении программы", а о "выполнении операции" (детектировании сигнала микроконтроллера), тогда уж естественней на Ассемблер перейти.
8051. Сравнение скорости ASM и С в симуляторе
Yandex
Объявления
05.05.2014, 16:04     Время работы программы
Ответ Создать тему
Опции темы

Текущее время: 23:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru