Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 08.10.2009
Сообщений: 78

Вычислить время, за которое выполняется код

11.04.2012, 19:23. Показов 1295. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня суток ...у меня вот такая вот проблема :нужно найти время за которое выполняется программа.У меня почему то показывает 0.Укажите ошибку.Заранее благодарен )
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
 DateTime t1=DateTime.Now;
          
            double []m=new double[5];
 
            for (int j = 0; j < m.Length; j++)
                m[j] = Convert.ToDouble(dataGridView1.Rows[0].Cells[j].Value);
            for (int j = 0; j < m.Length; j++)
            for (int i = 0; i < m.Length - 1; i++)
            {
 
                if (m[i] < m[i + 1])
                {
                    double min = m[i];
                    m[i] = m[i + 1];
                    m[i + 1] = min;
 
                }
            }
 
 
               for(int j=0;j<m.Length;j++)
                dataGridView2.Rows[0].Cells[j].Value = Convert.ToString(m[j]);
            DateTime t2=DateTime.Now;
            TimeSpan t3 = t2 - t1;
            textBox1.Text = Convert.ToString(t3.TotalMilliseconds);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.04.2012, 19:23
Ответы с готовыми решениями:

Вычислить время до мс, в течение которого выполняется код
доброго всем времени суток. имеется здоровенный кусок кода, время выполнения которого необходимо отследить с точностью до миллисекунд....

Вычислить время, за которое будут обработаны все детали по формуле
помогите пожалуйста решить задачу! В цехе обрабатывается N одинаковых деталей на С станках. Время обработки детали T минут. Определить...

Каким с GetTime можно узнать за какое время выполняется сортировка массива. Код программы:
Program SortMas; var i, j, k: integer; mas: array of integer; Begin randomize; for i := 1 to 20 do mas :=...

2
 Аватар для Alex_Sabaka
638 / 499 / 77
Регистрация: 28.07.2010
Сообщений: 895
11.04.2012, 21:01

Не по теме:

Цитата Сообщение от malir Посмотреть сообщение
DateTime
ахаха насмешили!!!


А теперь серьёзно: во-первых, ваш код слишком быстро исполняется(т.е. менее чем за 1мс), отсюда следует что t2 - t1 будет 0мс; во-вторых, DateTime не очень точный, точнее очень не точный. Что-бы узнать время он прекрасно подходит, но вот для измерения таких маленьких интервалов времени он не годиться. Что нужно делать: ну нужно вместо DateTime использовать Stopwatch, ни и еще нужно исполнять Ваш код не один раз а несколько(хотя бы 100).

Как вычислить время работы:
Итак, с курса школьной физики мы знаем, что частота прямо пропорциональна количеству циклов, и обратно пропорциональна времени, т.е. https://www.cyberforum.ru/cgi-bin/latex.cgi?\nu = \frac{N}{t}. Отсюда можно найти время: https://www.cyberforum.ru/cgi-bin/latex.cgi?\nu = \frac{N}{t} \Rightarrow t = \nu N. В нашем Stopwatch-е имеются все необходимые переменные: ElapsedTicks - это наше https://www.cyberforum.ru/cgi-bin/latex.cgi?N, Frequency - это наше https://www.cyberforum.ru/cgi-bin/latex.cgi?\nu.

Код

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
            Stopwatch s = new Stopwatch();
            int N = 1000;
            double []m=new double[5]; 
            s.Start();
            for (int counter = 0; counter < N; ++counter)
            {
              for (int j = 0; j < m.Length; j++) m[j] = Convert.ToDouble(dataGridView1.Rows[0].Cells[j].Value);
            
              for (int j = 0; j < m.Length; j++)
              for (int i = 0; i < m.Length - 1; i++)
              {
                 if (m[i] < m[i + 1])
                 {
                    double min = m[i];
                    m[i] = m[i + 1];
                    m[i + 1] = min;
 
                 }
              }
 
 
              for(int j=0;j<m.Length;j++)
                dataGridView2.Rows[0].Cells[j].Value = Convert.ToString(m[j]);   
            } 
            s.Stop(); 
            double elMs = (double)(s.ElapsedTicks * Stopwatch.Frequency) / (double)N;     
            textBox1.Text = Convert.ToString(t3.TotalMilliseconds);
2
2 / 2 / 0
Регистрация: 08.10.2009
Сообщений: 78
11.04.2012, 21:05  [ТС]
ЛАн попробую )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.04.2012, 21:05
Помогаю со студенческими работами здесь

Вычислить время, через которое тело, подброшенное вертикально вверх со скоростью v, упадет на землю
Пожалуйста, помогите с программным кодом решения задачи :) Написать программу, вычисляющую время, через которое тело, подброшенное...

Меню, которое все время на экране и которое не исчезает при скролле странички
как делается меню, которое все время на экране и которое не исчезает при скролле странички?

Код не выполняется в одном месте, но выполняется в другом
Вот код процедуры: LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hdc; ...

Выполняется условие, которое не должно выполнятся
Доброго времени суток! Со мной произошло довольно неприятное происшествие - я наткнулся на логическую ошибку в своей программе. И все бы...

Определить отношение которое выполняется, если Х является энным элементом списка Список
Доброго времени суток! Есть задание: (а) Используя отношение conc, напишите цель, соответствующую вычеркиванию трех последних...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru