Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
 Аватар для Kruks
5 / 5 / 6
Регистрация: 14.12.2011
Сообщений: 63

Время выполнения программы

21.03.2013, 16:43. Показов 2998. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как можно оценить программно время выполнения консольной программы?
Шутка про секундомер неуместна
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2013, 16:43
Ответы с готовыми решениями:

Изменение адреса во время выполнения программы
Добрый день умники и умницы. Помогите пожалуйста разобратся в такой вот проблемке: Есть программа для чтения записи значений в другом...

Увеличение файла подкачки во время выполнения программы
Привет. Возникла такая проблема: Я написал программу. В ней динамически выделяються массивы, мегабайт на 10 вцелом. Массивы...

Как запретить удаление Папки или Файла на время выполнения программы
Собственно сабж.... Нужно запретить удаление папки, причем совершенно левой, как это сделать кто нить знает ?

12
angstrom
21.03.2013, 17:30
GetTickCount, GetPerformanceCounter.
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
21.03.2013, 17:30
С помощью другой программы, выполняющей роль "секундомера".

Цитата Сообщение от Kruks Посмотреть сообщение
Шутка про секундомер неуместна
Ну разумеется неуместна, ты же собрался изменять не в секундах, а в попугаях)
0
 Аватар для Kruks
5 / 5 / 6
Регистрация: 14.12.2011
Сообщений: 63
21.03.2013, 17:48  [ТС]
сделал через TDateTime и FormatDateTime.
0
 Аватар для JustBear
7 / 7 / 0
Регистрация: 01.03.2013
Сообщений: 166
22.03.2013, 14:19
Kruks, подскажешь код, плиз?
0
angstrom
22.03.2013, 14:57
Даже не вздумай делать как ТС.
 Аватар для JustBear
7 / 7 / 0
Регистрация: 01.03.2013
Сообщений: 166
22.03.2013, 15:22
angstrom, у меня сейчас такой код:
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
31
32
33
34
35
36
37
38
39
40
41
42
// secundomer.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include "Windows.h"
#include <ctime>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Rus");
    int sec=0, min=0, msec=0;
    cout<<"Секундомер"<<endl;
     
    while(msec!=100)
    {
                for(min=0;min<59;min++)
            {
                cout<<min<<":"<<sec<<":"<<msec<<endl;
            Sleep(60000);
            system("cls");
 
                  for(sec=0;sec<59;sec++)
            {
                cout<<min<<":"<<sec<<":"<<msec<<endl;
            Sleep(1000);
            system("cls");
 
    for(msec=0;msec<99;msec++)
            {
            cout<<min<<":"<<sec<<":"<<msec<<endl;
            Sleep(1);
            system("cls");
 
  }
 
  } 
    }
    }
 
    return 0;
}
Но он у меня некорректно исполняется. Мне нужно заставить отсчитывать нормально секунды, минуты и миллисекунды. Просто код у меня ужасен. Помогите, пожалуйста. Я потом хотел реализовать возможность остановки/продолжения и старта по кнопке.
0
angstrom
22.03.2013, 15:47
Не самая удачная "ветка" для вашего вопроса, вам нужно обратиться на "ветку" С.

На Дельфи можно замерить время выполнения кода так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
  QPF, T1, T2 : Int64;
  Count : Extended;
begin
  QueryPerformanceFrequency(QPF);
  QueryPerformanceCounter(T1);
 
  // Исполняемый код
  // bla-bla-bla
 
  QueryPerformanceCounter(T2);
  Count := (T2 - T1) / QPF;
 
  ShowMessage('Время выполнения в секундах: ' + FloatToStr(Count));
end;
 Аватар для JustBear
7 / 7 / 0
Регистрация: 01.03.2013
Сообщений: 166
22.03.2013, 15:57
angstrom, я в вузе сейчас прохожу только С++ и на Дельфи пока не имеет смысла мне делать. Увы.
0
angstrom
22.03.2013, 16:07
Изменить код не под С не составит труда.
 Аватар для JustBear
7 / 7 / 0
Регистрация: 01.03.2013
Сообщений: 166
22.03.2013, 16:20
angstrom, я просто изучаю C++ всего 5 месяцев и с Дельфи не был никогда знаком. Вы сможете помочь с адаптацией или пояснением строчек Дельфи?

Добавлено через 11 минут
angstrom, я учу си++ всего 5 месяцев и с Дельфи не знаком. Можете помочь адаптировать код? Или пояснить функции Дельфи?
0
angstrom
22.03.2013, 16:39
Примерно так, за точность не ручаюсь
C
1
2
3
4
5
6
7
8
9
10
11
12
13
{
  longlong QPF, T1, T2;
  double Count;
 
  QueryPerformanceFrequency(QPF);
  QueryPerformanceCounter(T1);
 
  // Исполняемый код
  // bla-bla-bla
 
  QueryPerformanceCounter(T2);
  Count = (T2 - T1) / QPF;
}
 Аватар для JustBear
7 / 7 / 0
Регистрация: 01.03.2013
Сообщений: 166
22.03.2013, 17:43
Спс. Сейчас разберемся
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2013, 17:43
Помогаю со студенческими работами здесь

Соединение с БД во время выполнения программы, технология ADO
Надо не только установить соединение, но и сохранить его настройки в файл для последующей загрузки. Я делаю так: if...

Как создать новую таблицу в базе данных во время выполнения программы?
Как создать новую таблицу в базе данных во время выполнения программы?

Время выполнения программы
Есть программа, которая показывает сколько мс компьютеру необходимо, чтобы миллион раз выполнить прибавление слагаемого √(5). Почему...

Ошибка во время выполнения программы
я установил Delphi 7, и запускал, и произошло ошибка. ошибка написана на окне вывода. ошибка в первой строчке.

Изменение переменной во время выполнения программы
Здравствуйте! Мне необходимо изменять переменную во время выполнения программы. Для этого я решил использовать ScrollBar. Но в результате я...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью 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 ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru