diff options
| -rw-r--r-- | mps/src/steptest.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/mps/src/steptest.c b/mps/src/steptest.c index eea10c8d99d..b551fdeef9d 100644 --- a/mps/src/steptest.c +++ b/mps/src/steptest.c | |||
| @@ -43,16 +43,14 @@ static HANDLE currentProcess; | |||
| 43 | 43 | ||
| 44 | static void prepare_clock(void) | 44 | static void prepare_clock(void) |
| 45 | { | 45 | { |
| 46 | me = GetCurrentProcess(); | 46 | currentProcess = GetCurrentProcess(); |
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | static double my_clock(void) | 49 | static double my_clock(void) |
| 50 | { | 50 | { |
| 51 | HANDLE me; | ||
| 52 | FILETIME ctime, etime, ktime, utime; | 51 | FILETIME ctime, etime, ktime, utime; |
| 53 | double dk, du; | 52 | double dk, du; |
| 54 | me = GetCurrentProcess(); | 53 | GetProcessTimes(currentProcess, &ctime, &etime, &ktime, &utime); |
| 55 | GetProcessTimes(me, &ctime, &etime, &ktime, &utime); | ||
| 56 | dk = ktime.dwHighDateTime * 4096.0 * 1024.0 * 1024.0 + ktime.dwLowDateTime; | 54 | dk = ktime.dwHighDateTime * 4096.0 * 1024.0 * 1024.0 + ktime.dwLowDateTime; |
| 57 | dk /= 10.0; | 55 | dk /= 10.0; |
| 58 | du = utime.dwHighDateTime * 4096.0 * 1024.0 * 1024.0 + utime.dwLowDateTime; | 56 | du = utime.dwHighDateTime * 4096.0 * 1024.0 * 1024.0 + utime.dwLowDateTime; |
| @@ -71,7 +69,7 @@ static void prepare_clock(void) | |||
| 71 | { | 69 | { |
| 72 | } | 70 | } |
| 73 | 71 | ||
| 74 | static double myclock(void) | 72 | static double my_clock(void) |
| 75 | { | 73 | { |
| 76 | struct rusage ru; | 74 | struct rusage ru; |
| 77 | getrusage(RUSAGE_SELF, &ru); | 75 | getrusage(RUSAGE_SELF, &ru); |
| @@ -98,8 +96,8 @@ static double clock_timing(void) | |||
| 98 | 96 | ||
| 99 | t2 = 0.0; | 97 | t2 = 0.0; |
| 100 | for (i=0; i<CLOCK_TESTS; ++i) { | 98 | for (i=0; i<CLOCK_TESTS; ++i) { |
| 101 | t1 = myclock(); | 99 | t1 = my_clock(); |
| 102 | t2 += myclock()-t1; | 100 | t2 += my_clock()-t1; |
| 103 | } | 101 | } |
| 104 | return t2/CLOCK_TESTS; | 102 | return t2/CLOCK_TESTS; |
| 105 | } | 103 | } |
| @@ -115,9 +113,9 @@ static mps_addr_t make(void) | |||
| 115 | 113 | ||
| 116 | for(;;) { | 114 | for(;;) { |
| 117 | int commit_res; | 115 | int commit_res; |
| 118 | double t1 = myclock(); | 116 | double t1 = my_clock(); |
| 119 | MPS_RESERVE_BLOCK(res, p, ap, size); | 117 | MPS_RESERVE_BLOCK(res, p, ap, size); |
| 120 | t1 = myclock() - t1; | 118 | t1 = my_clock() - t1; |
| 121 | alloc_time += t1; | 119 | alloc_time += t1; |
| 122 | if (t1 > max_alloc_time) | 120 | if (t1 > max_alloc_time) |
| 123 | max_alloc_time = t1; | 121 | max_alloc_time = t1; |
| @@ -126,9 +124,9 @@ static mps_addr_t make(void) | |||
| 126 | res = dylan_init(p, size, exactRoots, exactRootsCOUNT); | 124 | res = dylan_init(p, size, exactRoots, exactRootsCOUNT); |
| 127 | if(res) | 125 | if(res) |
| 128 | die(res, "dylan_init"); | 126 | die(res, "dylan_init"); |
| 129 | t1 = myclock(); | 127 | t1 = my_clock(); |
| 130 | commit_res = mps_commit(ap,p,size); | 128 | commit_res = mps_commit(ap,p,size); |
| 131 | t1 = myclock() - t1; | 129 | t1 = my_clock() - t1; |
| 132 | alloc_time += t1; | 130 | alloc_time += t1; |
| 133 | if (t1 > max_alloc_time) | 131 | if (t1 > max_alloc_time) |
| 134 | max_alloc_time = t1; | 132 | max_alloc_time = t1; |
| @@ -145,9 +143,9 @@ static mps_addr_t make(void) | |||
| 145 | static void test_step(mps_arena_t arena) | 143 | static void test_step(mps_arena_t arena) |
| 146 | { | 144 | { |
| 147 | mps_bool_t res; | 145 | mps_bool_t res; |
| 148 | double t1 = myclock(); | 146 | double t1 = my_clock(); |
| 149 | res = mps_arena_step(arena, 0.1); | 147 | res = mps_arena_step(arena, 0.1); |
| 150 | t1 = myclock() - t1; | 148 | t1 = my_clock() - t1; |
| 151 | if (res) { | 149 | if (res) { |
| 152 | if (t1 > max_step_time) | 150 | if (t1 > max_step_time) |
| 153 | max_step_time = t1; | 151 | max_step_time = t1; |