Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
2 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 137

Как посчитать время выполнения программы?

21.05.2014, 07:49. Показов 3720. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как посчитать время выполнения программы?

нужно узнать за сколько секунд сортируются данные

покажите на примере

спасибо заранее
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.05.2014, 07:49
Ответы с готовыми решениями:

Повысить привилегии программы (UAC) во время её выполнения
Всем привет!) Возник такой вопрос: Программа работает под правами пользователя, но в некоторых случаях, ей могут потребоваться права...

Изменение размеров компонентов во время выполнения программы
Недавно мне понадобилось написать код, чтобы во время выполнения программы можно было изменять размеры кнопки, как в настоящей среде...

Видимость программы на панеле задач во время ее выполнения
Добрый день! Уважаемые программисты, подскажите мне как реализовать видимость программы на панели задач во время ее выполнения? ...

6
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
21.05.2014, 08:04
Вот так можно, но погрешность этого способа может быть 5 или более миллисекунд в зависимости от железа:
C++
1
2
3
4
5
6
7
#include <mmsystem.h>
 
DWORD t = timeGetTime(); // запускаем секундомер (а точнее получаем системное время в миллисекундах)
 
// òóò âûïîëíÿåòñÿ ñîðòèðîâêà
 
ShowMessage(timeGetTime()-t); // îòîáðàæàåì, ñêîëüêî ïðîøëî âðåìåíè íà ñîðòèðîâêó (â ìèëëèñåêóíäàõ)
Есть способ точнее. Могу дать, если надо
1
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
21.05.2014, 09:42
Чем я пользуюсь иногда:
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
    class t_time_counter
    {
    public:
        DWORD full_time;
        unsigned int hours, mins, secs, msecs;
        void __fastcall start( )
        {
            full_time = GetTickCount( );
        }
        void __fastcall stop( )
        {
            full_time = GetTickCount( ) - full_time;
            hours = ( mins = ( secs = full_time / 1000 ) / 60 ) / 60;
            mins %= 60;
            secs %= 60;
            msecs = full_time % 1000;
        }
        typedef std::auto_ptr < TCHAR > auto_ptr_tchar;
        auto_ptr_tchar __fastcall get_time_string( )
        {
            auto_ptr_tchar ptr( new TCHAR[255] );
            if ( SUCCEEDED(
                    StringCchPrintf( ptr.get( ), 255, _T( "h: %u, m: %u, s: %u, ms: %u" ), hours, mins, secs, msecs )
                ) )
            {
                return ptr;
            }
            return auto_ptr_tchar( );
        }
    };
OpenPictureDialog и подсчет тактов
0
2 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 137
21.05.2014, 21:12  [ТС]
kzru_hunter, у меня показывает 0. покажете еще второй вариант
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
21.05.2014, 22:12
Цитата Сообщение от ilyashis Посмотреть сообщение
у меня показывает 0
конечно будет ноль показывать, если никаких вычислений не происходит
0
2 / 0 / 0
Регистрация: 08.12.2011
Сообщений: 137
21.05.2014, 22:28  [ТС]
kzru_hunter, у меня есть вычесления. считается алгоритм
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
21.05.2014, 22:32
Цитата Сообщение от ilyashis
у меня показывает 0.
Цитата Сообщение от ilyashis Посмотреть сообщение
нужно узнать за сколько секунд сортируются данные
Если вы не скопировали мой код, то ноль может быть ещё в случае, если вычисления заняли очень малый промежуток времени, но судя по вашему вопросу вычисления должны длиться несколько секунд

Вот есть точнее способ:
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
// функции
__int64 TimerInit()
{
    __int64 init_counter;
    QueryPerformanceCounter((LARGE_INTEGER*)&init_counter);
    return init_counter;
}
 
double TimerDiff(__int64 init_counter)
{
        __int64 freq, diff_counter;
        QueryPerformanceFrequency((LARGE_INTEGER*)&freq); // кол-во тиков в секунду
        QueryPerformanceCounter((LARGE_INTEGER*)&diff_counter);
        return  (diff_counter-init_counter) * 1000.0 / freq;
}
 
 
// ------------- использование ------------------
__int64 Start = TimerInit(); // запускаем секундомер
 
// тут выполняется сортировка
 
ShowMessage(TimerDiff(Start)); // показываем, сколько прошло миллисекунд
// ---------------------------------------------
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.05.2014, 22:32
Помогаю со студенческими работами здесь

Время запуска/конца выполнения программы с точностью до миллисекунд
С. как сделать чтобы в начале программы выводилась дата и время с миллисекундами и тоже самое при её завершении?

Как посчитать время выполнения программы?
Подскажет ли кто то каким способом можно посчитать время исполнения программы? Добавлено через 1 час 2 минуты И так, если что: ...

Посчитать время выполнения программы
в visual 2012 можно как? или в коде прописать что?

Посчитать время выполнения программы
В среде visual studio 2012 можно? или в коде написать что нужно, подскажите

Нужно посчитать время выполнения программы
сделать через функционал pascal abc, или в коде вывести как, подскажите


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru