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,084
Rept. Given: 219
Rept. Rcvd 265 Times in 157 Posts
Thanks Given: 81
Thanks Rcvd at 203 Times in 119 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)