diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c
index fbb0c2b..ca75900 100644
*** a/src/bin/pgbench/pgbench.c
--- b/src/bin/pgbench/pgbench.c
*************** static int64 total_weight = 0;
*** 398,403 ****
--- 398,405 ----
  
  static int	debug = 0;			/* debug flag */
  
+ static instr_time start_time;	/* overall run start time */
+ 
  /* Builtin test scripts */
  typedef struct BuiltinScript
  {
*************** doLog(TState *thread, CState *st, instr_
*** 2483,2509 ****
  	else
  	{
  		/* no, print raw transactions */
! #ifndef WIN32
  
! 		/* This is more than we really ought to know about instr_time */
  		if (skipped)
! 			fprintf(logfile, "%d " INT64_FORMAT " skipped %d %ld %ld",
  					st->id, st->cnt, st->use_file,
! 					(long) now->tv_sec, (long) now->tv_usec);
  		else
! 			fprintf(logfile, "%d " INT64_FORMAT " %.0f %d %ld %ld",
  					st->id, st->cnt, latency, st->use_file,
! 					(long) now->tv_sec, (long) now->tv_usec);
! #else
! 
! 		/* On Windows, instr_time doesn't provide a timestamp anyway */
! 		if (skipped)
! 			fprintf(logfile, "%d " INT64_FORMAT " skipped %d 0 0",
! 					st->id, st->cnt, st->use_file);
! 		else
! 			fprintf(logfile, "%d " INT64_FORMAT " %.0f %d 0 0",
! 					st->id, st->cnt, latency, st->use_file);
! #endif
  		if (throttle_delay)
  			fprintf(logfile, " %.0f", lag);
  		fputc('\n', logfile);
--- 2485,2501 ----
  	else
  	{
  		/* no, print raw transactions */
! 		instr_time	elapsed = *now;
  
! 		INSTR_TIME_SUBTRACT(elapsed, start_time);
  		if (skipped)
! 			fprintf(logfile, "%d " INT64_FORMAT " skipped %d %.6f",
  					st->id, st->cnt, st->use_file,
! 					INSTR_TIME_GET_DOUBLE(elapsed));
  		else
! 			fprintf(logfile, "%d " INT64_FORMAT " %.0f %d %.6f",
  					st->id, st->cnt, latency, st->use_file,
! 					INSTR_TIME_GET_DOUBLE(elapsed));
  		if (throttle_delay)
  			fprintf(logfile, " %.0f", lag);
  		fputc('\n', logfile);
*************** main(int argc, char **argv)
*** 3664,3670 ****
  	CState	   *state;			/* status of clients */
  	TState	   *threads;		/* array of thread */
  
- 	instr_time	start_time;		/* start up time */
  	instr_time	total_time;
  	instr_time	conn_total_time;
  	int64		latency_late = 0;
--- 3656,3661 ----
