Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2014, 23:34   #1
IT-Lopata
7 - классник
Форумчанин
 
Аватар для IT-Lopata
 
Регистрация: 27.03.2014
Сообщений: 181
По умолчанию Как узнать сколько времени заняло выполнение заданного кусочка кода ?

Вопрос в заголовке.
Я нашел только какой-то DataTime c которым придумал так измерить время исполнения простого кода.


Код:
using System;
using System.Collections.Generic;
using System.Text;

namespace sizeof1
{

    class Program
    {
        static void Main(string[] args)
        {
            
            DateTime dt = DateTime.Now;
            int start = dt.Millisecond;
            int p = 0;

            // миллион раз одно и тоже
            for (int i = 0; i<1000000; i++) 
            {
                int k = i * 2;
                int e = k / 5;
                float f = e * 1.1f;

                // все это к p приравнивается для того чтобы компилятор не сумничал и не выкинул все верхние научные вычисления
                p = (int)f; 
            }

            DateTime dt2 = DateTime.Now;
            int end = dt2.Millisecond;

            int elapsed = end - start;

            Console.WriteLine("time elapsed {0}", elapsed); // сколько времени заняла научная деятельность
            Console.WriteLine("result p {0}", p); // чисто научное любопытство что там получилось

            Console.ReadLine(); //паузирование


        }
    }
}
IT-Lopata вне форума Ответить с цитированием
Старый 31.03.2014, 23:45   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Судя по всему, ответ на это вопрос в самом коде.
Вот время в миллисекундах:
Цитата:
Код:
int elapsed = end - start;
Для получение количества секунд умножьте результат на 1000.
Вообще, не совсем понятно, в чём суть вопроса. Прокомментировать код или что-то другое?..

Последний раз редактировалось Streletz; 31.03.2014 в 23:49.
Streletz вне форума Ответить с цитированием
Старый 01.04.2014, 00:20   #3
IT-Lopata
7 - классник
Форумчанин
 
Аватар для IT-Lopata
 
Регистрация: 27.03.2014
Сообщений: 181
По умолчанию

Цитата:
Прокомментировать код или что-то другое?..
нет, я не в курсе может быть как никто не проверяет есть какой-то другой общепринятый способ, функция .net

ко времени много нужно чего привязывать, не только проверку скорости кода но еще и перемещение path = v*t, поэтому нужны величины меньше секунды.
IT-Lopata вне форума Ответить с цитированием
Старый 01.04.2014, 02:08   #4
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
общепринятый способ, функция .net
http://msdn.microsoft.com/ru-ru/libr...stopwatch.aspx
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 01.04.2014, 02:25   #5
IT-Lopata
7 - классник
Форумчанин
 
Аватар для IT-Lopata
 
Регистрация: 27.03.2014
Сообщений: 181
По умолчанию

Цитата:
stopwatch.aspx
О, отлично. даже не велосипед, а специальный класс.
IT-Lopata вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать родительский класс заданного класса? Vratar10 Помощь студентам 1 28.10.2013 21:10
нужно узнать сколько времени работал алгоритм (gettime????) НЕзаяЦ Visual C++ 4 28.10.2011 20:14
[PHP] Как узнать сколько прошло времени? RESPECT8 PHP 1 24.10.2010 09:43
Сколько стоит такая программка? И сколько по времени её сделать? Палыч I Фриланс 8 10.09.2010 16:23
программа позволяющая проанализировать сколько времени ушло на работу операторов кода. Stilet Софт 6 16.07.2008 16:32