@@ -221,6 +221,40 @@ int main (void)
221
221
printf ("\n" );
222
222
}
223
223
224
+ printf ("\nUnaligned forwards memmove:\n" );
225
+ for (int f = 0 ; funtab [f ].name != 0 ; f ++ )
226
+ {
227
+ printf ("%22s (B/ns) " , funtab [f ].name );
228
+
229
+ for (int size = 1024 ; size <= 32768 ; size *= 2 )
230
+ {
231
+ uint64_t t = clock_get_ns ();
232
+ for (int i = 0 ; i < ITERS3 ; i ++ )
233
+ funtab [f ].fun (a , a + 256 + (i & 31 ), size );
234
+ t = clock_get_ns () - t ;
235
+ printf ("%d%c: %.2f " , size < 1024 ? size : size / 1024 ,
236
+ size < 1024 ? 'B' : 'K' , (double )size * ITERS3 / t );
237
+ }
238
+ printf ("\n" );
239
+ }
240
+
241
+
242
+ printf ("\nUnaligned backwards memmove:\n" );
243
+ for (int f = 0 ; funtab [f ].name != 0 ; f ++ )
244
+ {
245
+ printf ("%22s (B/ns) " , funtab [f ].name );
246
+
247
+ for (int size = 1024 ; size <= 32768 ; size *= 2 )
248
+ {
249
+ uint64_t t = clock_get_ns ();
250
+ for (int i = 0 ; i < ITERS3 ; i ++ )
251
+ funtab [f ].fun (a + 256 + (i & 31 ), a , size );
252
+ t = clock_get_ns () - t ;
253
+ printf ("%d%c: %.2f " , size < 1024 ? size : size / 1024 ,
254
+ size < 1024 ? 'B' : 'K' , (double )size * ITERS3 / t );
255
+ }
256
+ printf ("\n" );
257
+ }
224
258
225
259
return 0 ;
226
260
}
0 commit comments