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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Gmails
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
#1

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

05.05.2014, 15:07. Просмотров 959. Ответов 6
Метки нет (Все метки)

как считать?и как микросекунды?именно микросекунды нужны.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2014, 15:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Время работы программы (C++):

Написать программу вычисления величины дохода по вкладу. Процентная ставка (% годовых) и время хранения (дней) задаются во время работы программы - C++
1. Написать программу вычисления величины дохода по вкладу. Процентная ставка (% годовых) и время хранения (дней) задаются во время работы...

Время работы программы - C++
Здорова! Бывает в некоторых задачах нужно сравнить производительность программ, то есть время работы той или иной программы. Как их...

Время работы программы (алгоритма) - C++
не получается посчитать время работы алгоритма программы! #include <iostream> using std::cout; using std::cin; using std::endl; ...

Рассчитать время работы программы - C++
Помогите пожалуйста, сколько бы ни пробовала, не получается подсчитать время, оно постоянно равно 0. Задание было такое: Посчитать ...

Как уменьшить время работы программы? - C++
#include<iostream> using namespace std; int main() { int a,m,n; double d,o,w; cin>>n>>m; a=0; ...

Как сократить время работы программы?! - C++
Нужно сократить время работы программы по вычислению чисел Фибоначчи: Вот мой код: #include "stdafx.h" #include <iostream> #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nmcf
5309 / 4629 / 1550
Регистрация: 14.04.2014
Сообщений: 18,437
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
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
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
да, хроно - тоже хорошая штука, правда на точность - не проверял...
IrineK
Заблокирован
05.05.2014, 16:04 #7
Если речь идет не о "выполнении программы", а о "выполнении операции" (детектировании сигнала микроконтроллера), тогда уж естественней на Ассемблер перейти.
8051. Сравнение скорости ASM и С в симуляторе
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2014, 16:04
Привет! Вот еще темы с ответами:

Время работы программы в режиме ядра - C++
Доброго времени суток! Есть задание - подсчитать время выполнения метода в режиме пользователя и ядра. Программа выполняет копирование...

Превышено максимальное время работы программы - C++
#include &lt;math.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; using namespace std; int main(int argc, char** argv) { ...

Как подключить библиотеку во время работы программы? - C++
Представьте ситуацию: Я прошу у пользователя ввести имя библиотеки, которая находится в одной папке с программой (библиотек может быть...

Unix timestamp замерить время работы программы - C++
Как можно с помощью unix timestamp замерить время работы программы в секундах (с++)?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.05.2014, 16:04
Ответ Создать тему
Опции темы

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