e161.c
char counterは遅い





/usr/abiccs/bin/cc -O -c slowChar.c
の結果。
/*------------------------------------------*/
/* 処理速度が遅過ぎる memset */
/*------------------------------------------*/
static void tooSlowChar(char *s,char c,char n)
{
char counter ;
for(counter = 0 ; counter < n ; counter = counter + 1) {
s[counter] = c ;
}
}
/*------------------------------------------*/
/* 普通の人が書く memset */
/*------------------------------------------*/
static void normal(char *s,int c,int n)
{
int i ;
for(i = 0 ; i < n ; i++) {
s[i] = c ;
}
}
解説
処理速度が遅過ぎる 1330 msec
普通の人の処理時間 370 msec
C-FAQ 1.1J
C-FAQ 1.1E
を参照して下さい。