Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 901
  • Last Modified:

Measure time (ms) to complete task

Hi, I have console program that I'll try to optimizie for speed. I need a way to measure how long it takes to complete certain tasks. I'd like to be able to say something like this anywhere in the code:

// Start counting from here

// Do something...

// Report time in milliseconds here

Ideas? I've been looking at the Timer class, but since these are just temporary checks, I'd rather not put everything in a while block. I hope there's a way to just get the time at two points and subtract the first from the second.
0
liljegren
Asked:
liljegren
1 Solution
 
windsofchangeCommented:
long begtime=System.DateTime.Now.Ticks;

// do something

long endtime=System.DateTime.Now.Ticks;

long ergtime=endtime-begtime;
double ergsec=Math.Round((double)ergtime/10000000D,2);

gives you the time in seconds with 2 commas
0
 
TheAvengerCommented:
DateTime start = DateTime.Now;

// do something

TimeSpan timeElapsed = DateTime.Now - start;

timeElapsed.ToString() -> gives you the time in the format [-][d.]hh:mm:ss[.ff]
timeElapsed.Seconds, Milliseconds, Minutes, Days, Hours, Ticks, etc. can give you all the info you may need.

For more info see: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemtimespanclasstopic.asp
0
 
testnCommented:
You'd better use Hi Performance Timer since the Datetime object can measure up to 10ms accuracy.
http://www.codeproject.com/csharp/highperformancetimercshar.asp
0
 
TheAvengerCommented:
testn, there is always something to learn from you! 10x although your answer was not accepted!
0
 
liljegrenAuthor Commented:
Yes, thanks for the link testn. For now, the answer from TheAvenger is good enough for me, but I'll check it later.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now