Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 351
#1

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

22.07.2013, 18:19. Просмотров 2413. Ответов 16
Метки нет (Все метки)

Должна же быть какая то функция или метод, чтобы узнать время выполнения программы, или возможно есть инструменты в MVS2010 для анализа этой информации?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2013, 18:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как узнать скорость выполнения программы? (C++):

Как узнать тип шаблонного класса во время выполнения программы? - C++
Тоесть: имеем класс list<int> или list<double>, и как узнать какой это тип? Ну int или double?

Как узнать кодировку вывода в консоль во время выполнения программы? - C++
Привет всем! Я новичок, и возникла идея написать консольное приложение для Windows которое принимает на ввод русские символы и также...

От чего зависит скорость выполнения программы? - C++
от чего больше всего зависит скорость выполнения программы?

Найти количество счастливых билетов учитывая скорость выполнения программы - C++
Найти количество счастливых билетов учитывая скорость выполнения программы,счастливый билет имеет вид a+b+c=d+e+f.

Как узнать время выполнения алгоритма - C++
Мне нужно сравнить несколько алгоритмов сортировки. Но таким способом как у меня, дает очень маленькие значения .... дл массива int -...

Как уменьшить время выполнения программы? - C++
Помогите пожалуйста сократить время выполнения программы. Работает за 5.008 сек, а должна за 1 сек. Вот код: #include <iostream> ...

16
alsav22
5426 / 4821 / 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;
4
Teranozavr
Заблокирован
22.07.2013, 18:33 #3
Вот
0
Миниатюры
Как узнать скорость выполнения программы?  
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
22.07.2013, 19:07 #4
GetTickCount() что может быть лучше?
0
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;
}
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.07.2013, 19:30 #6
Цитата Сообщение от BigLow Посмотреть сообщение
еще таким способом можно
С точностью до секунды.
0
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 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;
}
// с точностью до милисекунды вроде
1
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
22.07.2013, 19:37 #8
Цитата Сообщение от alsav22 Посмотреть сообщение
С точностью до секунды.
да

Цитата Сообщение от Retyrn0 Посмотреть сообщение
// с точностью до милисекунды вроде
с точностью до секунды
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
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;
}
1
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
22.07.2013, 19:46 #10
Цитата Сообщение от BigLow Посмотреть сообщение
с точностью до секунды
я ошибся. свое сообщение не могу отредактировать
0
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 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() не заметили? Ничего, бывает, думаю все это переживут)
0
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
22.07.2013, 19:53 #12
Цитата Сообщение от Retyrn0 Посмотреть сообщение
GetTickCount() не заметили?
ага. эта программа очень похожа на мою из 5-го поста
0
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 677
Завершенные тесты: 1
22.07.2013, 19:59 #13
Цитата Сообщение от BigLow Посмотреть сообщение
эта программа очень похожа на мою из 5-го поста
Копуринг+замена на функцию GetTickCount() = минимум времени =)
Надеюсь, Вы не обиделись на меня за полу-плагиат? ))
0
Kastaneda
Jesus loves me
Эксперт С++
4688 / 2892 / 236
Регистрация: 12.12.2009
Сообщений: 7,354
Записей в блоге: 2
Завершенные тесты: 1
22.07.2013, 20:05 #14
под Linux'ом
Bash
1
$time progname
0
castaway
Эксперт С++
4887 / 3022 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
22.07.2013, 21:41 #15
Цитата Сообщение от Retyrn0 Посмотреть сообщение
GetTickCount() что может быть лучше?
QueryPerformanceCounter()
1
22.07.2013, 21:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2013, 21:41
Привет! Вот еще темы с ответами:

Как вы тестируете время выполнения программы? - C++
Добрый день. Вопрос к олимпиадникам: как вы тестируете время выполнения ваших программ во время подготовки? Есть какая-нибудь задача и...

Скорость выполнения. - C++
Есть консольное приложение, работающее с огромными текстовыми файлами, сравнивает их, читает, записывает и т.д. Судя по диспетчеру...

Как зафиксировать время начала выполнения программы - C++
Здравствуйте) подскажите, пожалуйста, как зафиксировать время начала выполнения программы и текущее время в C++ Builder?

Как увидеть результат выполнения программы в Dev-C++ 4.9.9.2 ? - C++
И ещё, когда запускаю exe-файл, вместо нормального текста какая-то абракадабра на русском языке. Можно это исправить? Только начал...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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