Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 17.04.2020
Сообщений: 10

Подсчет времени выполнения кода

17.04.2020, 16:44. Показов 2981. Ответов 11
Метки нет (Все метки)

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

К примеру в MyForm.cpp я могу подсчитать время какой либо программы, используя к примеру chrono
Но как подсчитать время выполнения в MyForm.h ?

Кратко: моя прога это задача о 8 ферзях, нажимаешь старт, выдает таблицу с положением ферзей, а так же в listBox показывает все решения для задачи, так вот, как мне измерить время за которое выполняется код после нажатия на старт и вывести в label?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.04.2020, 16:44
Ответы с готовыми решениями:

Подсчёт времени выполнения кода
Используя функцию QueryPerformanceCounter, написать приложение, которое будет подсчитывать время выполнения кода в MASM32 Участок...

Оптимизация кода. Замер времени выполнения части кода.
Доброе утро. Есть желание посмотреть сколько времени занимает выполнение какого-то блока кода/отдельной функции или процедуры/программы...

Подсчет времени выполнения процедуры
Такой вопрос- необходимо получить время выполнения процедуры сортировки массива. Для этого я использовал следующее выражение void...

11
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
17.04.2020, 17:24
Цитата Сообщение от ttabeji Посмотреть сообщение
как мне измерить время за которое выполняется код
До какого события выполняется?
0
0 / 0 / 0
Регистрация: 17.04.2020
Сообщений: 10
17.04.2020, 17:34  [ТС]
Цитата Сообщение от nd2 Посмотреть сообщение
До какого события выполняется?
Как нажимаю старт программа проверяет все возможные позиции ферзей, и выставляет их в datagridview, так что до события как все ферзи расставлены и выведены все варианты решения в listbox

сама кнопка старт:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
const int MaxN = 20;
int M[MaxN];
int p; // номер размещаемого ферзя
int k; // количество вариантов размещения

// Инициализировать dataGridView1
InitDataGridView(N);

// очистить listBox1
listBox1->Items->Clear();

// АЛГОРИТМ ФОРМИРОВАНИЯ РАЗМЕЩЕНИЯ
// начальные настройки
p = 1;
M[p] = 0;
M[0] = 0;
k = 0;

// цикл формирования размещения
while (p > 0) // если p==0, то виход из цикла
{
M[p] = M[p] + 1;
if (p == N) // последний элемент
{
if (M[p] > N)
{
while (M[p] > N) p--; // перемотать обратно
}
else
{
if (!Strike(M, p))
{
// зафиксировать размещение
AddToListBox(M, N);
k++;
p--;
}
}
}
else // не последний элемент
{
if (M[p] > N)
{
while (M[p] > N) p--; // перемотать назад
}
else
{
if (!Strike(M, p)) // Если M[p] не накладывается з предыдущими M[1],M[2], ..., M[p-1]
{
p++; // перейти на размещение следующего ферзя
M[p] = 0;
}
}
}
}

Добавлено через 3 минуты
вообще без разницы до какого момента, мне просто нужно разобраться как проверять время учатка кода, как библиотку и где подключать, как в label в форме вывести
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
17.04.2020, 17:47
Цитата Сообщение от ttabeji Посмотреть сообщение
как проверять время участка кода
Ты же написал, что через chrono можешь? На форме можно через события: две переменные в классе формы, при первом событии (например, при нажатии на старт) записал время в одну переменную, при втором событии записал время в другую переменную, вычел, преобразовал в строку, вывел в label.
0
0 / 0 / 0
Регистрация: 17.04.2020
Сообщений: 10
17.04.2020, 18:00  [ТС]
Цитата Сообщение от nd2 Посмотреть сообщение
Ты же написал, что через chrono можешь?
могу в MyForm.cpp, но не работает в MyForm.h, ввожу chrone и он не видит ее...

пытаюсь сделать через chrono::high_resolution_clock::now();
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
17.04.2020, 19:04
Цитата Сообщение от ttabeji Посмотреть сообщение
ввожу chrone и он не видит ее...
Инклюды нужные добавь.

Добавлено через 2 минуты
Вот вариант:
C++
1
2
3
4
5
6
7
#include <ctime>
#include <iostream>
//...
clock_t t1 = clock();
//...           
clock_t t2 = clock();
std::cout << (t2 - t1 + .0) / CLOCKS_PER_SEC << std::endl;
0
0 / 0 / 0
Регистрация: 17.04.2020
Сообщений: 10
17.04.2020, 19:25  [ТС]
в MyForm.cpp работает, в MyForm.h нет, не подскажешь какие инклуды надо подключить?

Вот какие сейчас в MyForm.cpp

#include "MyForm.h"
#include <Windows.h>
#include <iostream>
#include <ctime>
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
17.04.2020, 20:22
Лучший ответ Сообщение было отмечено ttabeji как решение

Решение

Цитата Сообщение от ttabeji Посмотреть сообщение
не подскажешь какие инклуды надо подключить?
...
Цитата Сообщение от nd2 Посмотреть сообщение
#include <ctime>
#include <iostream>
#include <iostream> если на консоль выводить.
1
0 / 0 / 0
Регистрация: 17.04.2020
Сообщений: 10
17.04.2020, 20:32  [ТС]
спасибо!! а в чем выводит? пишет 30, это мс?
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
17.04.2020, 20:49
Цитата Сообщение от ttabeji Посмотреть сообщение
пишет 30,
Как делаешь покажи.

Добавлено через 1 минуту
Результат этого выражения - секунды:
C++
1
(t2 - t1 + .0) / CLOCKS_PER_SEC
0
0 / 0 / 0
Регистрация: 17.04.2020
Сообщений: 10
17.04.2020, 20:58  [ТС]
unsigned int start_time = clock();
//код
unsigned int end_time = clock();
unsigned int search_time = end_time - start_time;
label1->Text = search_time.ToString();

да прости, я забыл что ты другой способ показывал, в этом мс?
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
17.04.2020, 21:07
Лучший ответ Сообщение было отмечено ttabeji как решение

Решение

Количество тактов.

Добавлено через 2 минуты
https://www.cplusplus.com/reference/ctime/clock/
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.04.2020, 21:07
Помогаю со студенческими работами здесь

Подсчет времени выполнения функции
Делаю 2 вида сортировки, не знаю как подсчитать их время. #include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;conio.h&gt; using...

Подсчет времени выполнения сортировки
Подскажите, пожалуйста, как написать в программе, чтобы подсчитывало время выполнения сортировки? Там как-то надо ввести &quot;clock...

Подсчёт времени выполнения программы
Здравствуйте, помогите разобраться, не получается подсчитать время выполнения программы. Вот код: #include &lt;time.h&gt; #include...

Подсчёт времени выполнения цикла
Добрый день. Существует ли возможность подсчитать, сколько по времени выполнялся цикл? Нужный мне цикл выполняется в среднем 2-3 секунды....

Подсчет времени выполнения процедуры
Здравствуйте, уважаемые, в Excel имеется скрипт сколько по времени исполняется процедура. Мне бы что-то такое хотелось бы иметь для...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru