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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
BESSON_off
 Аватар для BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 329
22.07.2013, 18:19     Как узнать скорость выполнения программы? #1
Должна же быть какая то функция или метод, чтобы узнать время выполнения программы, или возможно есть инструменты в MVS2010 для анализа этой информации?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.07.2013, 18:33     Как узнать скорость выполнения программы? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Как-то так:
C++
1
2
3
4
clock_t t1 = clock();
...
clock_t t2 = clock();
cout << (t2 - t1 + .0) / CLOCKS_PER_SEC << endl;
Teranozavr
Заблокирован
22.07.2013, 18:33     Как узнать скорость выполнения программы? #3
Вот
Миниатюры
Как узнать скорость выполнения программы?  
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
22.07.2013, 19:07     Как узнать скорость выполнения программы? #4
GetTickCount() что может быть лучше?
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
22.07.2013, 19:16     Как узнать скорость выполнения программы? #5
еще таким способом можно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <ctime>
 
int main()
{
    time_t t1=time(NULL);
 
    /*** что-то делаем ***/
 
    time_t t2=time(NULL);
 
    std::cout << "Время работы программы равно " << t2-t1 << std::endl;
 
    system("pause");
    return 0;
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.07.2013, 19:30     Как узнать скорость выполнения программы? #6
Цитата Сообщение от BigLow Посмотреть сообщение
еще таким способом можно
С точностью до секунды.
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
22.07.2013, 19:37     Как узнать скорость выполнения программы? #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
    unsigned int t1=GetTickCount();
 
    /*** что-то делаем ***/
 
    unsigned int t2=GetTickCount;
 
    cout << "Время работы программы равно " << t2-t1 << std::endl;
 
    system("pause");
    return 0;
}
// с точностью до милисекунды вроде
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
22.07.2013, 19:37     Как узнать скорость выполнения программы? #8
Цитата Сообщение от alsav22 Посмотреть сообщение
С точностью до секунды.
да

Цитата Сообщение от Retyrn0 Посмотреть сообщение
// с точностью до милисекунды вроде
с точностью до секунды
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
22.07.2013, 19:42     Как узнать скорость выполнения программы? #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <chrono>
 
int main()
{
    auto begin = std::chrono::high_resolution_clock::now();
 
    /// начало твоего кода
 
    /// конец твоего кода
 
    auto end = std::chrono::high_resolution_clock::now();
    auto time_took = std::chrono::duration_cast<std::chrono::duration<double>>(end - begin);
    std::cout << "Executed in " << time_took.count();
 
    return 0;
}
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
22.07.2013, 19:46     Как узнать скорость выполнения программы? #10
Цитата Сообщение от BigLow Посмотреть сообщение
с точностью до секунды
я ошибся. свое сообщение не могу отредактировать
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
22.07.2013, 19:49     Как узнать скорость выполнения программы? #11
Цитата Сообщение от BigLow Посмотреть сообщение
с точностью до секунды
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include<windows.h>
 
int main()
{
    while(1)
    {
        system("cls");
        printf("%d",GetTickCount());
    }
    return 0;
}
Тогда объясните смену цифр в 1000 раз быстрее, чем раз в секунду?

Добавлено через 1 минуту
Цитата Сообщение от BigLow Посмотреть сообщение
я ошибся. свое сообщение не могу отредактировать
GetTickCount() не заметили? Ничего, бывает, думаю все это переживут)
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
22.07.2013, 19:53     Как узнать скорость выполнения программы? #12
Цитата Сообщение от Retyrn0 Посмотреть сообщение
GetTickCount() не заметили?
ага. эта программа очень похожа на мою из 5-го поста
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
22.07.2013, 19:59     Как узнать скорость выполнения программы? #13
Цитата Сообщение от BigLow Посмотреть сообщение
эта программа очень похожа на мою из 5-го поста
Копуринг+замена на функцию GetTickCount() = минимум времени =)
Надеюсь, Вы не обиделись на меня за полу-плагиат? ))
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
22.07.2013, 20:05     Как узнать скорость выполнения программы? #14
под Linux'ом
Bash
1
$time progname
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
22.07.2013, 21:41     Как узнать скорость выполнения программы? #15
Цитата Сообщение от Retyrn0 Посмотреть сообщение
GetTickCount() что может быть лучше?
QueryPerformanceCounter()
BESSON_off
 Аватар для BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 329
23.07.2013, 20:03  [ТС]     Как узнать скорость выполнения программы? #16
Спасибо огромное ребята! Я и не надеялся получить такую объемную помощь
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2013, 21:32     Как узнать скорость выполнения программы?
Еще ссылки по теме:

C++ Скорость выполнения операторов
Как узнать тип шаблонного класса во время выполнения программы? C++
Как вы тестируете время выполнения программы? C++

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

Или воспользуйтесь поиском по форуму:
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
23.07.2013, 21:32     Как узнать скорость выполнения программы? #17
Цитата Сообщение от castaway Посмотреть сообщение
QueryPerformanceCounter()
Я ждал этого комментария А как на счёт "Слишком хорошо - тоже не хорошо"?
Yandex
Объявления
23.07.2013, 21:32     Как узнать скорость выполнения программы?
Ответ Создать тему
Опции темы

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