Commit 1ca8bef0 by Janne Blomqvist

Minor timing cleanups.

2012-05-27  Janne Blomqvist  <jb@gcc.gnu.org>

	* intrinsics/time_1.h (gf_cputime): Don't reevaluate HZ expression
	for times fallback, clarify operation ordering for times and clock
	fallbacks.
	(gf_gettime): Fix comment typo.

From-SVN: r187922
parent f51a04db
2012-05-27 Janne Blomqvist <jb@gcc.gnu.org>
* intrinsics/time_1.h (gf_cputime): Don't reevaluate HZ expression
for times fallback, clarify operation ordering for times and clock
fallbacks.
(gf_gettime): Fix comment typo.
2012-05-24 Janne Blomqvist <jb@gcc.gnu.org> 2012-05-24 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/53456 PR fortran/53456
......
...@@ -158,10 +158,11 @@ gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec ...@@ -158,10 +158,11 @@ gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec
struct tms buf; struct tms buf;
clock_t err; clock_t err;
err = times (&buf); err = times (&buf);
*user_sec = buf.tms_utime / HZ; long hz = HZ;
*user_usec = buf.tms_utime % HZ * (1000000. / HZ); *user_sec = buf.tms_utime / hz;
*system_sec = buf.tms_stime / HZ; *user_usec = (buf.tms_utime % hz) * (1000000. / hz);
*system_usec = buf.tms_stime % HZ * (1000000. / HZ); *system_sec = buf.tms_stime / hz;
*system_usec = (buf.tms_stime % hz) * (1000000. / hz);
if ((err == (clock_t) -1) && errno != 0) if ((err == (clock_t) -1) && errno != 0)
return -1; return -1;
return 0; return 0;
...@@ -184,7 +185,7 @@ gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec ...@@ -184,7 +185,7 @@ gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec
#else #else
clock_t c = clock (); clock_t c = clock ();
*user_sec = c / CLOCKS_PER_SEC; *user_sec = c / CLOCKS_PER_SEC;
*user_usec = c % CLOCKS_PER_SEC * (1000000. / CLOCKS_PER_SEC); *user_usec = (c % CLOCKS_PER_SEC) * (1000000. / CLOCKS_PER_SEC);
*system_sec = *system_usec = 0; *system_sec = *system_usec = 0;
if (c == (clock_t) -1) if (c == (clock_t) -1)
return -1; return -1;
...@@ -204,7 +205,7 @@ gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec ...@@ -204,7 +205,7 @@ gf_cputime (long *user_sec, long *user_usec, long *system_sec, long *system_usec
usecs - OUTPUT, microseconds usecs - OUTPUT, microseconds
The OUTPUT arguments shall represent the number of seconds and The OUTPUT arguments shall represent the number of seconds and
nanoseconds since the Epoch. microseconds since the Epoch.
Return value: 0 for success, -1 for error. In case of error, errno Return value: 0 for success, -1 for error. In case of error, errno
is set. is set.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment