Системно време за компилиране на програмата
Здравейте,
как можем на конзолата да изпишем информация за реалното време, което е необходимо на процесора да обработи целия код.
Благодаря Ви предварително!
Здравейте,
как можем на конзолата да изпишем информация за реалното време, което е необходимо на процесора да обработи целия код.
Благодаря Ви предварително!
Stopwatch stopWatch =newStopwatch();
stopWatch.Start();
Thread.Sleep(10000);
stopWatch.Stop();
// Get the elapsed time as a TimeSpan
value.TimeSpan ts = stopWatch.Elapsed;
// Format and display the TimeSpan value.
string elapsedTime =String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds/10);
Console.WriteLine("RunTime "+ elapsedTime);
Това е един вариант използвайки Stopwatch of System.Diagnostics
Разгледай го след малко ще дам и друг :) Успех
DateTime firstMeasureOfTime = DateTime.Now;
//Тук пишеш кода на програмата и след това отново:
DateTime secondMeasureOfTime = DateTime.Now;
//И накрая правиш един WriteLine в подходящия формат за да си видиш резултата
Console.WriteLine(firstMeasureOfTime.Millisecond- secondMeasureOfTime.Millisecond);
Благодаря ти за предложението! Идеята е много добра, лесна и бърза за изпълнение. Само едно трябва да се разменят местата на firstMeasureOfTime.Millisecond и secondMeasureOfTime.Millisecond, за да не излезе отрицателно времето.
Рагледай тук: http://msdn.microsoft.com/en-us/library/system.reflection.assembly%28v=vs.110%29.aspx и по-специално метод: GetExecutingAssembly
Интересни са ми няколко неща:
1. Особено с нашите не много сложни програми, такъв код за отчитане на времето не отнема ли понякога над 50% от цялото време?
2. Времето не зависи ли от използвания хардуер?
3. Малко неактуален въпрос, от любопитство. На съвременните версии на Уиндоус конзолата не е чист ДОС. Очаква ли се на Уиндоус 98, където има чист ДОС, програмите да работят по-бързо?