@@ -129,7 +129,10 @@ int main(int argc, char *argv[]){
129129 int step = 1 ;
130130
131131 struct timeval start , stop ;
132- double time1 ,timeg ;
132+ double time1 = 0.0 , timeg = 0.0 ;
133+ long nanos = 0 ;
134+ time_t seconds = 0 ;
135+ struct timespec time_start = { 0 , 0 }, time_end = { 0 , 0 };
133136
134137 argc -- ;argv ++ ;
135138
@@ -163,35 +166,32 @@ int main(int argc, char *argv[]){
163166 timeg = 0 ;
164167
165168 fprintf (stderr , " %6d : " , (int )m );
169+ for (i = 0 ; i < m * COMPSIZE * abs (inc_x ); i ++ ){
170+ x [i ] = ((FLOAT ) rand () / (FLOAT ) RAND_MAX ) - 0.5 ;
171+ }
166172
173+ for (i = 0 ; i < m * COMPSIZE * abs (inc_y ); i ++ ){
174+ y [i ] = ((FLOAT ) rand () / (FLOAT ) RAND_MAX ) - 0.5 ;
175+ }
167176
168177 for (l = 0 ; l < loops ; l ++ )
169178 {
179+ clock_gettime (CLOCK_REALTIME , & time_start );
180+ COPY (& m , x , & inc_x , y , & inc_y );
181+ clock_gettime (CLOCK_REALTIME , & time_end );
170182
171- for (i = 0 ; i < m * COMPSIZE * abs (inc_x ); i ++ ){
172- x [i ] = ((FLOAT ) rand () / (FLOAT ) RAND_MAX ) - 0.5 ;
173- }
183+ nanos = time_end .tv_nsec - time_start .tv_nsec ;
184+ seconds = time_end .tv_sec - time_start .tv_sec ;
174185
175- for (i = 0 ; i < m * COMPSIZE * abs (inc_y ); i ++ ){
176- y [i ] = ((FLOAT ) rand () / (FLOAT ) RAND_MAX ) - 0.5 ;
177- }
178- gettimeofday ( & start , (struct timezone * )0 );
186+ time1 = seconds + nanos / 1.e9 ;
187+ timeg += time1 ;
188+ }
179189
180- COPY ( & m , x , & inc_x , y , & inc_y ) ;
190+ timeg /= loops ;
181191
182- gettimeofday ( & stop , (struct timezone * )0 );
183-
184- time1 = (double )(stop .tv_sec - start .tv_sec ) + (double )((stop .tv_usec - start .tv_usec )) * 1.e-6 ;
185-
186- timeg += time1 ;
187-
188- }
189-
190- timeg /= loops ;
191-
192- fprintf (stderr ,
193- " %10.2f MBytes %10.6f sec\n" ,
194- COMPSIZE * sizeof (FLOAT ) * 1. * (double )m / timeg * 1.e-6 , timeg );
192+ fprintf (stderr ,
193+ " %10.2f MBytes %12.9f sec\n" ,
194+ COMPSIZE * sizeof (FLOAT ) * 1. * (double )m / timeg / 1.e6 , timeg );
195195
196196 }
197197
0 commit comments