diff options
| author | Joshua Bakita <jbakita@cs.unc.edu> | 2020-10-17 14:43:46 -0400 |
|---|---|---|
| committer | Joshua Bakita <jbakita@cs.unc.edu> | 2020-10-17 14:43:46 -0400 |
| commit | a3886552003d031acb9039e920b7c9ddce946ad6 (patch) | |
| tree | c3b6a400a9ba31e744e6218365d63bdfbbc45a83 /dis/Field | |
| parent | 917499f6257ac51c05e8302af877d56a22f28cb5 (diff) | |
DIS fixes used for (rejected) RTSS'20 submission
- All: Output times to stderr and nothing to stdout
- Field, Update, Pointer: change definition of a job to match other
stressmark execution times more closely
- Matrix: move all allocations into main()
- Update: Use volatile to prevent computations from being optimized out
- Transitive: Use volatile to prevent computations from being optimized out
- Neighborhood: Use working version of drawLineSegment from original DIS
sample code
Diffstat (limited to 'dis/Field')
| -rw-r--r-- | dis/Field/field.c | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/dis/Field/field.c b/dis/Field/field.c index 8565e8c..f83a403 100644 --- a/dis/Field/field.c +++ b/dis/Field/field.c | |||
| @@ -47,7 +47,7 @@ int main(int argc, char** argv){ | |||
| 47 | int mod_offset; | 47 | int mod_offset; |
| 48 | unsigned int n; | 48 | unsigned int n; |
| 49 | 49 | ||
| 50 | time_t startTime; | 50 | time_t startTime, endTime; |
| 51 | 51 | ||
| 52 | struct tokenS{ | 52 | struct tokenS{ |
| 53 | unsigned char delimiter[MAX_TOKEN_LENGTH]; | 53 | unsigned char delimiter[MAX_TOKEN_LENGTH]; |
| @@ -92,9 +92,9 @@ int main(int argc, char** argv){ | |||
| 92 | } | 92 | } |
| 93 | 93 | ||
| 94 | startTime = time(NULL); | 94 | startTime = time(NULL); |
| 95 | 95 | START_LOOP | |
| 96 | |||
| 96 | for (l =0; l<n; l++){ | 97 | for (l =0; l<n; l++){ |
| 97 | START_LOOP | ||
| 98 | unsigned int index; | 98 | unsigned int index; |
| 99 | 99 | ||
| 100 | token[l].subfields = 0; | 100 | token[l].subfields = 0; |
| @@ -133,20 +133,25 @@ int main(int argc, char** argv){ | |||
| 133 | index++; | 133 | index++; |
| 134 | } | 134 | } |
| 135 | token[l].subfields++; | 135 | token[l].subfields++; |
| 136 | STOP_LOOP | ||
| 137 | } | 136 | } |
| 138 | 137 | ||
| 139 | startTime = time(NULL) - startTime; | 138 | STOP_LOOP |
| 139 | endTime = time(NULL); | ||
| 140 | 140 | ||
| 141 | volatile int sumAll = 0; | ||
| 141 | for (l = 0; l< n; l++){ | 142 | for (l = 0; l< n; l++){ |
| 142 | unsigned int ll; | 143 | unsigned int ll; |
| 143 | fprintf(stdout, "%d subfields for token %d \n", token[l].subfields, l); | 144 | //fprintf(stdout, "%d subfields for token %d \n", token[l].subfields, l); |
| 144 | for ( ll =0; ll<token[l].subfields; ll++) | 145 | sumAll += token[l].subfields + l; |
| 145 | fprintf(stdout, "subfields %d:\tcount = %d\tmin= %x\tsum= %x\n", | 146 | for ( ll =0; ll<token[l].subfields; ll++) { |
| 146 | ll, token[l].stat[ll].count, | 147 | sumAll += ll + token[l].stat[ll].count + token[l].stat[ll].min + token[l].stat[ll].sum; |
| 147 | token[l].stat[ll].min, token[l].stat[ll].sum); | 148 | /*fprintf(stdout, "subfields %d:\tcount = %d\tmin= %x\tsum= %x\n", |
| 149 | ll, token[l].stat[ll].count, | ||
| 150 | token[l].stat[ll].min, token[l].stat[ll].sum);*/ | ||
| 151 | } | ||
| 148 | } | 152 | } |
| 149 | fprintf(stdout, "total time = %d seconds.\n", (int)startTime); | 153 | fprintf(stderr, "time for field stressmark = %f seconds.\n", |
| 154 | difftime(endTime, startTime)); | ||
| 150 | free(field); | 155 | free(field); |
| 151 | WRITE_TO_FILE | 156 | WRITE_TO_FILE |
| 152 | return(0); | 157 | return(0); |
