Changeset 52150679808ed6ea37f1eb4c564756a1894e43d6
- Timestamp:
- 04/21/08 03:45:10 (9 months ago)
- Author:
- krayouva <krayouva@…>
- Parents:
- 6ea76e69a6cae35e697e95d0aaa18c8ad62a0193
- Children:
- 3e94658359c07330b5ea11ae8520fd41e676bba5
- git-committer:
- krayouva <krayouva@gmail.com> / 2008-04-20T13:45:10Z-0400
- Message:
-
* Replaced times with getursage
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
|
r6ea76e
|
r521506
|
|
| 1 | | #include <sys/times.h> |
| 2 | 1 | #include <sys/time.h> |
| | 2 | #include <sys/resource.h> |
| 3 | 3 | #include <unistd.h> |
| 4 | | #include <limits.h> |
| 5 | 4 | #include <string.h> |
| 6 | 5 | #include "global.h" |
| … |
… |
|
| 8 | 7 | #include "all_benchmarks.h" |
| 9 | 8 | #include "word_list.h" |
| 10 | | |
| 11 | | static int hertz; |
| 12 | 9 | |
| 13 | 10 | static int bmtcmp(const void *p1, const void *p2) |
| … |
… |
|
| 60 | 57 | } |
| 61 | 58 | |
| | 59 | #define TVAL_TO_SEC(before, after) \ |
| | 60 | ((double)after.tv_sec + ((double)after.tv_usec/1000000)) - \ |
| | 61 | ((double)before.tv_sec + ((double)before.tv_usec/1000000)) |
| | 62 | |
| 62 | 63 | static void bm_single_run(BenchMarkUnit *unit, BenchMarkTimes *bm_times) |
| 63 | 64 | { |
| 64 | 65 | struct timeval tv_before, tv_after; |
| 65 | | struct tms tms_before, tms_after; |
| 66 | | double before, after; |
| | 66 | struct rusage ru_before, ru_after; |
| 67 | 67 | |
| 68 | 68 | if (gettimeofday(&tv_before, NULL) == -1) |
| 69 | 69 | RAISE(FRT_UNSUPPORTED_ERROR, "gettimeofday failed\n"); |
| 70 | | (void)times(&tms_before); |
| | 70 | getrusage(RUSAGE_SELF, &ru_before); |
| 71 | 71 | |
| 72 | 72 | unit->run(); |
| … |
… |
|
| 74 | 74 | if (gettimeofday(&tv_after, NULL) == -1) |
| 75 | 75 | RAISE(FRT_UNSUPPORTED_ERROR, "gettimeofday failed\n"); |
| 76 | | (void)times(&tms_after); |
| 77 | | before = (double)tv_before.tv_sec + ((double)tv_before.tv_usec/1000000); |
| 78 | | after = (double)tv_after.tv_sec + ((double)tv_after.tv_usec/1000000); |
| 79 | | bm_times->rtime = after - before; |
| 80 | | bm_times->utime = |
| 81 | | ((double)(tms_after.tms_utime - tms_before.tms_utime))/hertz; |
| 82 | | bm_times->stime = |
| 83 | | ((double)(tms_after.tms_stime - tms_before.tms_stime))/hertz; |
| | 76 | getrusage(RUSAGE_SELF, &ru_after); |
| | 77 | |
| | 78 | bm_times->rtime = TVAL_TO_SEC(tv_before, tv_after); |
| | 79 | bm_times->utime = TVAL_TO_SEC(ru_before.ru_utime, ru_after.ru_utime); |
| | 80 | bm_times->stime = TVAL_TO_SEC(ru_before.ru_stime, ru_after.ru_stime); |
| 84 | 81 | } |
| 85 | 82 | |
| … |
… |
|
| 159 | 156 | (void)argc; (void)argv; |
| 160 | 157 | benchmark.head = benchmark.tail = NULL; |
| 161 | | /* set the clock speed used for calculating run times */ |
| 162 | | hertz = sysconf(_SC_CLK_TCK); |
| 163 | 158 | |
| 164 | 159 | for (i = 0; i < NELEMS(all_benchmarks); i++) { |