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/field.c | |
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/field.c')
-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); |