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

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

Восстановить пароль Регистрация
 
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
06.04.2013, 18:05     Время работы программы #1
Здорова!
Бывает в некоторых задачах нужно сравнить производительность программ, то есть время работы той или иной программы. Как их замерять и можно ли? Программа ведь очень быстро выполняется.
Если можно, то какую функцию использовать, чтобы определить время начала выполнения программы и время конца выполнения?
Пробовал <ctime> time использовать ничо не получается o выводит.
C++
1
2
3
4
int t1=time(0);
//kod programmu
int t2=time(0);
cout <<t2-t1<<endl; //vuvodit 0;
Я и double тип ставил и 20 знаков поссле точки выводил, толку всерамно 0 вывод.
В любом случае программа за какое то время исполняется, а как же его определить? Или это в нагруженных программах токо можно, а в мелких не определить.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
06.04.2013, 20:54     Время работы программы #2
Для компилятора MinGW:
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
#include <iostream>
#include <ctime>
#include <vector>
#include <algorithm>
 
using namespace std;
 
int main()
{
    clock_t begin, end;
    double time_spent;
    begin = clock();
    
    /**< начало твоего кода */
    srand(time(0)); //rand()
    vector<int> vec;
    for (size_t i = 0; i != 10000000; i++)
        vec.push_back(rand());
    sort(vec.begin(),vec.end());
    /**< конец твоего кода */
    
    end = clock();
    time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
    cout<<"Executed in "<<time_spent;
 
    return 0;
}
Executed in 4.683
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
06.04.2013, 21:35     Время работы программы #3
лучше используйте средства, написанные, как кажется, профессионалами. например, запускайте программы на LiveWorkSpace...
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
06.04.2013, 22:26     Время работы программы #4
Тогда уж лучше использовать профайлер для <вставьте используемый компилятор>.
Crafty
19 / 3 / 1
Регистрация: 29.03.2013
Сообщений: 8
06.04.2013, 22:34     Время работы программы #5
Цитата Сообщение от ninja2 Посмотреть сообщение
В любом случае программа за какое то время исполняется, а как же его определить? Или это в нагруженных программах токо можно, а в мелких не определить.
Как вариант можно один и тот же кусок кода выполнить в цикле N раз и потом поделить полученное время на N.
Yandex
Объявления
06.04.2013, 22:34     Время работы программы
Ответ Создать тему
Опции темы

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