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

Как измерить, сколько времени считала программа? - C++

Восстановить пароль Регистрация
 
BadBaddak
87 / 14 / 3
Регистрация: 09.06.2010
Сообщений: 100
25.07.2011, 21:59     Как измерить, сколько времени считала программа? #1
Запускается прога, запрашивает число (например 1000), включается таймер (или читается время из winXP), идёт расчёт (например сумма от 1 до запрошенного числа), потом выключается таймер (или читается второе время с оси), и на экран выводится время, которое было затрачено непосредственно на расчёт, повтор проги с начала...
Как обычно измеряют время?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2011, 21:59     Как измерить, сколько времени считала программа?
Посмотрите здесь:

C++ Как измерить время
Как в одномерном массиве проводится сравнение и сколько времени потребовалось на выполнение программы C++
написать программу,чтобы считала сколько слов в предложении до точки C++
C++ как сделать чтобы программа считала нормально
C++ Как сделать, чтобы функция считала с точностью до
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
25.07.2011, 22:02     Как измерить, сколько времени считала программа? #2
запомнить время старта, запомнить время останова, из второго вычесть первое. ты же сам все написал, не?
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.07.2011, 22:09     Как измерить, сколько времени считала программа? #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <time.h>
 
int main ()
{
  printf ("Enter unsigned integer number: ");
  unsigned number, sum = 0, i = 0;
  scanf("%u", &number);
  fflush(stdin);
  time_t start, end;
  time (&start);
  for(; i <= number; ++i)
      sum += i;
  time (&end);
  double dif = difftime(end, start);
  printf ("Sum = %u\nTime = %lf", sum, dif);
  getchar();
  return 0;
}
Zverit
Уничтожитель печенек
 Аватар для Zverit
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
25.07.2011, 22:13     Как измерить, сколько времени считала программа? #4
Библиотекой ctime.Отнять от останова стартовое время и поделить на CLOCKS_PER_SEC
BadBaddak
87 / 14 / 3
Регистрация: 09.06.2010
Сообщений: 100
25.07.2011, 22:50  [ТС]     Как измерить, сколько времени считала программа? #5
Ну вот. Впервые узнал про time.h
Тут нашел некоторые функции и о форматировании даты. Это оно?
Zverit
Уничтожитель печенек
 Аватар для Zverit
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
25.07.2011, 22:54     Как измерить, сколько времени считала программа? #6
Цитата Сообщение от BadBaddak Посмотреть сообщение
Это оно?
Оно. Только time.h это для С, а не для С++
hepr
 Аватар для hepr
60 / 32 / 5
Регистрация: 21.10.2010
Сообщений: 538
25.07.2011, 23:24     Как измерить, сколько времени считала программа? #7
C++
1
2
3
4
5
6
7
#include "time.h"
main(){
time_t start, end;
start = clock();
//Действия
end = clock();
cout << "Time = " << end-start;
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
25.07.2011, 23:24     Как измерить, сколько времени считала программа? #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вдруг пригодится
http://wm-help.net/books-online/book...4-26.html#h1t5
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
26.07.2011, 09:30     Как измерить, сколько времени считала программа? #9
C++
1
2
3
boost::posix_time::ptime start = boost::posix_time::second_clock::local_time();
boost::posix_time::ptime end = boost::posix_time::second_clock::local_time();
std::cout << (end - start).total_seconds();
BadBaddak
87 / 14 / 3
Регистрация: 09.06.2010
Сообщений: 100
28.08.2011, 01:04  [ТС]     Как измерить, сколько времени считала программа? #10
Вот что получилось. Вывод на экран сделал, чтоб время потянуть. Десять тысяч складывает за 5.42 секунды. Плохая идея считать суммы, слишком быстро (без вывода на экран вообще мгновенно). Какой бы алгоритм придумать, чтоб проц загрузить на 100% и считало бы минуту примерно?
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
    int num=10000, i;
    unsigned long int sum=0;
    time_t start, end;
    start = clock();
 
    for (i=1;i<=num ;i++ )
    {
        sum=sum+i;
        printf("I= %2d  Sum=%lu \n",i, sum);
    }
 
    end = clock();
    double dif = difftime(end, start);
 
    printf("Sum=%lu\n",sum);
    printf("Time=%.2lf sec\n", dif/1000);
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2011, 01:21     Как измерить, сколько времени считала программа?
Еще ссылки по теме:

Как написать чтобы программа считала и то и то ?! C++
Программа не проходит тесты по времени, посоветуйте как исправить C++
Движение объекта по XY. Как сделать чтобы программа считала FaceUnit как градусы C++

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

Или воспользуйтесь поиском по форуму:
hepr
 Аватар для hepr
60 / 32 / 5
Регистрация: 21.10.2010
Сообщений: 538
28.08.2011, 01:21     Как измерить, сколько времени считала программа? #11
Предложу
C++
1
2
3
4
5
long long int maxSize = 1;
for(int a=0;a<8*sizeof(long long int)-1;a++)
    maxSize *= 2;
maxSize -= 1;
long long int n = maxSize, i;
Yandex
Объявления
28.08.2011, 01:21     Как измерить, сколько времени считала программа?
Ответ Создать тему
Опции темы

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