View Single Post
  #1  
Old 05-17-2015, 19:13
Git's Avatar
Git Git is offline
Old Git
 
Join Date: Mar 2002
Location: Torino
Posts: 1,115
Rept. Given: 220
Rept. Rcvd 265 Times in 157 Posts
Thanks Given: 108
Thanks Rcvd at 216 Times in 124 Posts
Git Reputation: 200-299 Git Reputation: 200-299 Git Reputation: 200-299
Code timing snippet

Is it ok to post small pieces of code here that could be useful for people to include in programs?. If not, please delete or move the message.

Here is a trivial snippet of C source that will measure the time between two calls to _ftime_s() and return the number of seconds in a double, accurate to 1millisecond. It's useful for measuring run times of functions, bruteforce loops, etc, on the fly. I've used it lot, please help yourself if useful to you or ignore otherwise.

Git

Code:
#include <stdio.h>
#include <stdlib.h>
#include <sys/timeb.h>
#include <time.h>

int main(int argc, char * argv[])
{
	struct _timeb startTime, endTime;
	double	diftim;
	
	_ftime_s(&startTime);
	...
	...
	do things
	...
	...
	_ftime_s(&endTime);
	diftim = timediff(&startTime, &endTime);
	printf("\nProcessing time %8.3f seconds\n", diftim);
}


double timediff(struct _timeb *timstart, struct _timeb *timend)
{
	__int64	sTime, eTime;

	eTime = timend->millitm + 1000 * timend->time;
	sTime = timstart->millitm + 1000 * timstart->time;

	return (eTime - sTime) / 1000.0;
}

// The  _ftime_s(&endTime) statement could go in the timediff() function
// if the calling time of timediff() is insignificant.
Reply With Quote
The Following 11 Users Say Thank You to Git For This Useful Post:
ahmadmansoor (05-18-2015), b30wulf (08-01-2015), canopus (08-02-2015), Debugger (05-19-2015), Indigo (07-19-2019), Loki (01-02-2018), mr.exodia (05-17-2015), niculaita (05-24-2015), rasta (12-31-2017), te$ter (05-18-2015), zeytunak (05-19-2015)